使用 Tailscale 实现 Ubuntu 远程开发(VSCode Remote SSH + NoMachine)

前言

我的开发环境:

复制代码
Windows 主机
↓
VSCode Remote SSH
↓
Ubuntu 开发机

Ubuntu 经常:

  • 连接手机热点

  • IP 经常变化

  • 每次都要重新查 IP

后来使用:

Tailscale

来实现:

  • 固定远程 IP

  • 任意网络远程开发

  • SSH 稳定连接

  • NoMachine 远程桌面

效果非常好。


一、Windows 安装 Tailscale

官网下载:

复制代码
https://tailscale.com/download

安装完成后:

  1. 登录自己的 Tailscale 账号

  2. 保持在线即可

登录后可以在后台看到自己的所有设备。


二、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 使用正常

相关推荐
zzzzzz31020 小时前
9K Star 炸裂开源!这个 C 语言写的代码知识图谱,把 Linux 内核索引压缩到了 3 分钟
linux·服务器·sql
XIAOHEZIcode20 小时前
Linux系统鼠标偏移常见原因以及修复方案
linux·运维·游戏
A小辣椒3 天前
TShark:Wireshark CLI 功能
linux
A小辣椒3 天前
TShark:基础知识
linux
AlfredZhao3 天前
OCI 明明分配了 200G 系统盘,为什么 df 只看到 30G?
linux·oci
AlfredZhao4 天前
vi 删除指定范围的行,不用再反复按 dd
linux·vi
用户9718356334664 天前
银河麒麟 KY10 申威(SW64) 安装 nginx-1.16.1-2.p01.ky10.sw_64.rpm 详细步骤
linux
猪脚踏浪4 天前
linux 拷贝文件或目录到指定的位置
linux
摇滚侠4 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
bush45 天前
嵌入式linux学习记录十四、术语
linux·嵌入式