如何远程当牛马——通过 Tailscale 实现远程连接 Win 和 WSL
如何远程当牛马–通过Tailscale实现远程连接win和wsl
想必各位研究生都曾有过这样的经历,已经美美出去玩但是导师发消息要让你干活?

不想挨骂和扣工资的你想到了远程办公,但是没有电脑怎么办?别急,只要你工位电脑上有Agent(比如codex或者claude code),就能够实现随时随地在工位。
从任意设备(电脑/手机)通过 Tailscale 内网,SSH 远程连接到工位电脑的 Windows 和 WSL Ubuntu 开发环境。
最终效果
| 目标 | 命令 |
|---|---|
| 连接 WSL | ssh 用户名@<Tailscale IP> -p 端口1 |
| 连接 Windows | ssh 用户名@<Tailscale IP> -p 端口2 |

这样,就可以在任何情况下用claude指挥你的电脑啦,wsl用来vibe coding,win用来做ppt写文档干其他杂活,直接给牛马榨干。
前置条件
- 工位电脑:Windows 10/11,已安装 WSL2 + Ubuntu,保持一直开机
- 一个 Tailscale 账号
第一部分:Windows 配置
1.1 安装 Tailscale
- 下载:https://tailscale.com/download/windows
- 安装后登录你的 Tailscale 账号
- 记录分配的 Tailscale IP(如
100.80.195.92)
Tailscale 安装后作为系统服务自动开机启动,无需额外配置。
1.2 配置 WSL mirrored networking
在 Windows 用户目录下创建或编辑 %USERPROFILE%\.wslconfig:
1 | [experimental] |
mirrored networking 让 WSL 和 Windows 共享网络栈,WSL 的端口直接对外暴露,无需 portproxy 转发。
1.3 安装 Windows OpenSSH Server
管理员 PowerShell:
1 | Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0 |
1.4 配置 Windows sshd 端口
编辑 C:\ProgramData\ssh\sshd_config,修改端口(避免冲突,可以用自己喜欢的端口):
1 | Port 2298 |
启动并设为开机自启:
1 | Start-Service sshd |
1.5 配置防火墙
管理员 PowerShell:
1 | # 放行 WSL sshd 端口 |
1.6 创建 WSL 自动启动任务
管理员 PowerShell:
1 | $action = New-ScheduledTaskAction -Execute "wsl.exe" -Argument "-d Ubuntu -e /bin/bash -c 'sleep infinity'" |
这确保 Windows 登录后 WSL 自动在后台运行,不需要手动打开终端。
第二部分:WSL Ubuntu 配置
2.1 安装 OpenSSH Server
1 | sudo apt update |
2.2 配置 sshd 端口
编辑 /etc/ssh/sshd_config:
1 | sudo sed -i 's/^#Port 22/Port 2299/' /etc/ssh/sshd_config |
如果文件中已有 Port 行,直接改为:
1 | Port 2299 |
使用 2299 而非默认 22 或 2222,避免与 Windows 侧端口冲突(mirrored networking 下共享端口空间)。
2.3 创建 systemd override
WSL 的 /run 是 tmpfs,每次重启会清空。sshd 需要 /run/sshd 目录,必须在启动前自动创建:
1 | sudo mkdir -p /etc/systemd/system/ssh.service.d |
Restart=on-failure+RestartSec=5确保即使首次启动时端口暂时被占,5 秒后自动重试。
2.4 启用并启动 sshd
1 | sudo systemctl daemon-reload |
2.5 验证
1 | sudo ss -tlnp | grep 2299 |
应看到:
1 | LISTEN 0 128 0.0.0.0:2299 0.0.0.0:* users:(("sshd",...)) |
第三部分:客户端配置(其他电脑/手机)
3.1 安装 Tailscale
- Windows/Mac/Linux:https://tailscale.com/download
- iOS:App Store 搜索 Tailscale
- Android:Google Play 搜索 Tailscale
登录与工位机相同的 Tailscale 账号。
3.2 SSH 客户端
- 电脑:系统自带 ssh 命令即可
- iOS:推荐 Termius 或 Blink Shell
- Android:推荐 Termius 或 JuiceSSH
3.3 连接测试
1 | # 连接 WSL |
3.4 配置 SSH 快捷连接(可选)
在客户端 ~/.ssh/config 中添加:
1 | Host wsl |
之后直接:
1 | ssh wsl # 进入 WSL Linux 环境 |
常见问题
Q: 连接超时?
- 确认客户端 Tailscale 已连接(状态为 Connected)
- 确认工位机 Tailscale 在线:客户端执行
tailscale ping <工位IP> - 确认 WSL 已启动:工位机执行
wsl -l --running - 确认 sshd 在运行:WSL 内执行
sudo ss -tlnp | grep 2299
Q: sshd 启动失败?
1 | sudo systemctl status ssh |
常见原因:
/run/sshd不存在 → override 没生效,重新执行 2.3 步骤- 端口被占用 → 换一个端口(修改 sshd_config 里的 Port)
Q: 从自己机器 SSH 到自己的 Tailscale IP 超时?
这是正常的(hairpin routing 限制)。用 127.0.0.1 做本地测试:
1 | ssh 用户名@127.0.0.1 -p 2299 # 测试 WSL |
Q: WSL 重启后 sshd 没自动启动?
确认任务计划存在:
1 | Get-ScheduledTask -TaskName "WSL AutoStart" |
如果不存在,重新执行 1.6 步骤。
如何远程当牛马——通过 Tailscale 实现远程连接 Win 和 WSL
install_url to use ShareThis. Please set it in _config.yml.