通过tailscale实现一台电脑上vscode通过ssh连接另一台电脑上的VMware Linux 虚拟机

当需要通过一台windows电脑上的vscode来ssh连接另一台电脑上的linux虚拟机进行远程操作,可以通过tailscale来实现。

Linux虚拟机上安装tailscale

由于挂代理下载仍然很慢,而清华镜像源又没有tailscale的软件包,所以可以通过下载 DEB 包安装:

bash 复制代码
wget https://pkgs.tailscale.com/stable/tailscale_1.86.2_amd64.deb

如果下载仍然很慢,可在windows主机浏览器下载后再拖入虚拟机。

接下来手动安装:

bash 复制代码
sudo dpkg -i tailscale_*.deb
sudo apt-get install -f  # 自动修复依赖

启动并登陆:

bash 复制代码
sudo tailscale up

复制弹出来的链接,在windows主机的浏览器中打开,建议登陆谷歌邮箱账号,登陆成功linux虚拟机中即可同步读取到登陆结果。

检查是否安装成功:

bash 复制代码
tailscale version

弹出类似这样的信息安装成功:tailscale version: 1.86.2

另一台Windows电脑上安装tailscale

登陆同样的谷歌邮箱后在下载页直接下载官方客户端:Download | Tailscale

建立ssh连接

在linux虚拟机终端输入下面命令查看ip地址:

bash 复制代码
tailscale ip

通常是 100.x.y.z 格式的 IPv4 地址,比如是100.87.234.55。

确保另一台电脑上的 Windows 也安装并登录了 Tailscale​(使用同一个账号)。

打开windows电脑的vscode,点击左下角的蓝色图标打开远程窗口,点击连接到主机,选择添加新的ssh主机,输入这个格式的命令:ssh 《linux虚拟机的用户名》@<你的-Tailscale-IP>,比如:

bash 复制代码
ssh ljy@100.87.234.55

配置好后选择连接,输入虚拟机的密码即可成功连接。

通过固定昵称和MagicDNS 域名进行连接

由于IP可能会发生变化,所以可以通过固定的昵称和MagicDNS 域名进行连接会更稳定。

可以在linux虚拟机的终端中输入

bash 复制代码
tailscale status --json | grep DNSName

或者在安装了tailscale的这台windows电脑的powershell中输入

bash 复制代码
tailscale status --json | findstr "DNSName"

都可以看到相同的结果,比如

"DNSName": "ljy.tailb55a8b.ts.net.",

"DNSName": "ljy-virtual-machine.tailb55a8b.ts.net.",

所以直接在windows电脑的vscode 添加新的ssh主机 处输入以下命令:

bash 复制代码
ssh ljy@ljy-virtual-machine.tailb55a8b.ts.net

按照同样的步骤连接并输入密码即可成功连接。

永久生效配置

如果重新启动虚拟机或者安装了tailscale的windows电脑,那么tailscale需要重新开启一下才能连接。即虚拟机需要通过 sudo tailscale up 来重新登陆认证,windows电脑需要打开tailscale客户端进行连接。

也可以配置一下让虚拟机启动后自动生效:

先去tailscale的管理后台:Keys - Tailscale

点击 ​​"Generate auth key"​

选择 ​​"Reusable"​

点击 ​​"Generate key"​生成密钥。

回到machines选项卡下:Machines - Tailscale

点击虚拟机的 ​​"Disable key expiry"(由于我点过了所以变成了Enable),设置为永不过期。

配置自动登录:

bash 复制代码
# 启用 tailscale 系统服务开机自启
sudo systemctl enable tailscaled

# 使用永久密钥登录(替换你的密钥)
sudo tailscale up --auth-key=tskey-auth-xxxxxxxxx

# 检查服务状态(应显示 "active (running)")
sudo systemctl status tailscaled
相关推荐
和小胖11223 小时前
第二讲 Vscode+Python+anaconda 高阶环境配置
ide·vscode·python
ajassi20004 小时前
开源 C++ QT Widget 开发(十三)IPC通讯--本地套接字 (Local Socket)
linux·c++·qt·开源
方先森有点懒4 小时前
CentOS 7.2 虚机 ssh 登录报错在重启后无法进入系统
linux·运维·centos·ssh
shylyly_4 小时前
Linux->日志的实现
linux·运维·服务器
剑客的茶馆4 小时前
新服务器从0开始搭配Ubuntu+Conda+Docker+Dify
服务器·ubuntu·docker·conda·dify
陈老老老板5 小时前
Visual Studio Code 中为Copilot 添加 Bright Data 的 Web MCP
ide·vscode·copilot
想成为大佬的每一天5 小时前
Linux:NTP服务
linux·网络
喜欢你,还有大家5 小时前
SSH服务远程安全登录
运维·安全·ssh
AI视觉网奇6 小时前
麒麟系统 doc转pdf
linux·运维·pdf