windows系统操作设置
OpenSSH安装
首先你ping一下windwos电脑,如果你在同一个局域网,但是ping不同,那么可能是企业网络/校园网/等不允许横向流浪访问!,那么不能单使用ssh了。
检查是否安装了OpenSSH.server,可以好使用下面命令在powershell管理员模式下测试:
bash
Get-WindowsCapability -Online | Where-Object Name -like 'OpenSSH.Server*'
出现下面情况说明没有安装:
bash
Name : OpenSSH.Server~~~~0.0.1.0
State : NotPresent
安装openssh.server:
bash
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0

如果一直这样说明卡死了,毕竟这组件也才几个MB而已。那么可以换一种方式下载。
在这里下载对应版本:OpenSSH-server下载地址
加压后将文件放在:C:\Program Files\OpenSSH 就十几个MB无所谓了,省的一顿操作改到D盘。
然后开始安装:
bash
C:\Program Files\OpenSSH-Win64>
powershell.exe -ExecutionPolicy Bypass -File install-sshd.ps1

启动并检查状态,如果是running就是一切正常:
bash
(base) PS C:\Program Files\OpenSSH-Win64> Start-Service sshd
(base) PS C:\Program Files\OpenSSH-Win64> Get-Service sshd
Status Name DisplayName
------ ---- -----------
Running sshd OpenSSH SSH Server
利用下面命令测试ssh是否可登录:
bash
ssh localhost
bash
Are you sure you want to continue connecting (yes/no/[fingerprint])?
yes
ipconfig 命令查看该电脑的ip地址。
可以用下面命令查看自己电脑的用户名:
bash
whoami
desktop-5m05baq\XXXX
// XXXX就是你的登录用户名
还可以通过下面命令修改你的ssh登录命令:
bash
net user XXX 新密码
然后ssh链接就可以了
如果是开头说的拒绝横向流量访问,那么需要借助第三方工具了。
ZeroTier 虚拟局域网
配置
ZeroTier 是目前最简单、最稳定、最容易上手的 虚拟局域网(VLAN/VPN)解决方案 ,
我的 Mac 和 Windows 加入同一个 ZeroTier 网络后,就像在同一个家用路由器下一样,可以:
-
✔️ 互相 ping 通
-
✔️ SSH 连接
-
✔️ Mac 控制 Windows Docker
-
✔️ 不受校园网/公司网的局域网隔离影响
而且 全免费 、配置超简单。
-
点击zerotier.com注册并创建network
-
分别在mac和windwos上下载zerotier
-
然后加入网络,输入nerwork id即可
-
加入网络后要在后台授权

解决网络阻断
配置好以后,你可能会遇到,ping可以通,但是ssh XXX@ip_address是被阻断的(ssh之后是空白无输出停滞)。这说明Mac → ZeroTier → Windows 的 TCP 22 被屏蔽,ZeroTier 的 TCP 流量被彻底阻断(连 SYN 包都发不过去)。
接下来执行下面命令,把 ZeroTier 虚拟网卡改成"Private(专用网络)":
查看NetworkCategory 现在八成是:public
bash
Get-NetConnectionProfile
改为private:
bash
Set-NetConnectionProfile -InterfaceAlias "ZeroTier One *" -NetworkCategory Private
查看已经变为private
bash
Get-NetConnectionProfile
放行 ZeroTier 接口的 SSH 端口(22)
bash
New-NetFirewallRule `
-DisplayName "ZT-SSH" `
-Direction Inbound `
-LocalPort 22 `
-Protocol TCP `
-InterfaceAlias "ZeroTier One*" `
-Action Allow
重启ssh服务
bash
Restart-Service sshd
然后mac测试:
bash
nc -vz XXX.XXX.XXX.XXX 22
就通了,会显示succeede!
然后通过ssh就可以直接链接了:
bash
ssh XXX@ip_address
输入账户密码就可登录进去了。
如果出现其他问题直接问LLM即可,他会帮助你解决的。这里密码试了半天都不行,才发现我用的是微软账户,所以就得用微软账户的密码。
两台电脑的zerotier服务必须后台运行,否则无法继续访问,但是你可能会发现,关掉后太仍然可以呀,你关掉的只是ui而不是服务进程,windows进程再这里:

Mac的在这:/Library/Application Support/ZeroTier/One/zerotier-one
他们不会随UI的关闭而结束。
访问docker环境web
直接将docker的端口映射到宿主机的端口,mac在访问的时候直接访问ip:port即可。