使用OpenSSH+Tailscale打通双windows系统笔记本和主机连接,实现ssh访问主机

问题产生

最近想实现一个需求:人在外面时,用笔记本通过 SSH 连接家里的 Windows 主机。

主机没有公网IPv4,也不想在路由器上暴露SSH的22端口,因此采用了:

Windows OpenSSH Server + Tailscale

实现

一、下载Tailscale并组网

在笔记本和主机同时下载Tailscale,并使用同一账号登录。

https://tailscale.com/download

随后,Tailscale会为每个设备分配一个IP,实现设备的连接

具体配置教程可参考下面链接:

https://www.cnblogs.com/litchi/p/16315796.html

二,在受控主机端检查并启用ssh服务

在 Windows 主机上,以管理员身份打开 PowerShell,运行

Get-WindowsCapability -Online |
    Where-Object Name -Like 'OpenSSH*'

如果服务端显示

OpenSSH.Server~~~~0.0.1.0
State : NotPresent

执行安装

Add-WindowsCapability `
    -Online `
    -Name OpenSSH.Server~~~~0.0.1.0

安装后启动服务,并设置为开机自启

Start-Service sshd
Set-Service sshd -StartupType Automatic

检查服务状态:

Get-Service sshd

预期结果:

Status   Name
Running  sshd

三、确认 SSH 正在监听

检查 TCP 22 端口:

Get-NetTCPConnection `
    -LocalPort 22 `
    -State Listen

正常情况下会看到:

0.0.0.0:22
[::]:22

也可以进行本机 TCP 测试:

Test-NetConnection 127.0.0.1 -Port 22

如果输出:

TcpTestSucceeded : True

说明 SSH 服务已经能够接受连接。
继续测试实际登录:

ssh "$env:USERNAME@127.0.0.1"

登录时需要输入 Windows 账户的真实密码,而不是 Windows Hello PIN。
成功进入远程命令行后,可以执行:

whoami
hostname
exit

四,使用term工具在笔记本上实现ssh访问主机

本人使用的是electerm工具

新建连接,输入Tailscale为主机分配的IP,端口选择22,

image

保存并连接即可,即可在主界面看到自己已经进入到台式机的终端

如果想便捷传文件,用附带的Sftp即可

posted @ 2026-09-21 17:00  tjmark  阅读(55)  评论(0)    收藏  举报