前言
我的开发环境:
Windows 主机
↓
VSCode Remote SSH
↓
Ubuntu 开发机
Ubuntu 经常:
-
连接手机热点
-
IP 经常变化
-
每次都要重新查 IP
后来使用:
Tailscale
来实现:
-
固定远程 IP
-
任意网络远程开发
-
SSH 稳定连接
-
NoMachine 远程桌面
效果非常好。
一、Windows 安装 Tailscale
官网下载:
https://tailscale.com/download
安装完成后:
-
登录自己的 Tailscale 账号
-
保持在线即可
登录后可以在后台看到自己的所有设备。
二、Ubuntu 安装 Tailscale
Ubuntu:
curl -fsSL https://tailscale.com/install.sh | sh
安装完成后:
sudo tailscale up --accept-dns=false
浏览器会弹出登录页面。
登录同一个 Tailscale 账号即可。
三、查看 Ubuntu 的固定 IP
Ubuntu:
tailscale ip
会得到类似:
100.x.x.x
这个 IP 基本长期固定。
以后:
-
手机热点
-
家里 WiFi
-
学校网络
都不会影响远程连接。
四、Windows 使用 VSCode Remote SSH 连接 Ubuntu
Windows:
安装:
VSCode Remote SSH 插件
然后配置:
~/.ssh/config
添加:
Host ubuntu-dev
HostName 100.x.x.x
User your_username
以后直接:
Remote-SSH: Connect to Host
即可远程开发。
五、NoMachine 远程桌面
如果需要远程 Ubuntu 桌面:
Ubuntu 安装:
https://www.nomachine.com/
然后 Windows 也安装 NoMachine。
连接:
100.x.x.x
即可远程桌面。
非常适合:
-
ROS
-
Gazebo
-
RViz
-
MATLAB
-
仿真 GUI
六、重要:Ubuntu 不建议开启 Tailscale DNS 接管
Ubuntu 默认:
Tailscale 会接管系统 DNS。
这可能导致:
-
GitHub Copilot Agent 不稳定
-
VSCode Remote 偶尔异常
-
长连接断流
尤其:
Ubuntu + VSCode Remote SSH + Copilot
场景下。
因此推荐:
sudo tailscale up --accept-dns=false
这样:
-
Tailscale 仍正常工作
-
固定 IP 保留
-
SSH 正常
-
NoMachine 正常
-
Copilot 更稳定
这是目前 Linux 远程开发中比较稳定的做法。
七、常用命令
查看 Tailscale 状态
tailscale status
查看 Tailscale IP
tailscale ip
停止Tailscale
sudo systemctl stop tailscaled
sudo systemctl disable tailscaled
sudo tailscale down
重新启动(不接管 DNS)
sudo tailscale up --accept-dns=false
八、最终效果
最终开发架构:
Windows
├── VSCode
├── Remote SSH
├── GitHub Copilot
└── NoMachine
↓ Tailscale
Ubuntu
├── SSH
├── Tailscale
├── Docker
├── ROS
├── AI开发环境
└── 仿真系统
特点:
-
不需要同一 WiFi
-
不需要查 IP
-
手机热点也能远程开发
-
固定远程 IP
-
VSCode Remote SSH 稳定
-
Copilot 使用正常