title: 使用 Tailscale 解决本地无法 SSH 连接 VPS 教程 - 教程
source: https://idcflare.com/t/topic/74181
site: IDC Flare
author: “IDC Flare”
published: 2026-04-02
clipped: 2026-04-06 09:36
tags:
• inbox/readlater
• webclipper
使用 Tailscale 解决本地无法 SSH 连接 VPS 教程 - 教程
一句话结论
通过为本地电脑和VPS安装Tailscale,建立私有网络通道,绕开不稳定的公网链路,成功解决了本地SSH连接VPS超时的问题。
内容摘要
- 问题:本地SSH连接VPS超时,但VPS在线且公司网络可连,问题出在公网回程链路。
- 方案:使用Tailscale为本地和VPS建立私有网络,通过内网地址(100.x.x.x)进行SSH连接。
- 步骤:分别在Windows和Ubuntu VPS上安装Tailscale客户端并登录同一账号,获取VPS内网IP后使用该IP进行SSH。
- 优点:对VPS原有业务影响小,安全性更高,且绕开了有问题的公网路径。
结构拆解
目标-步骤-注意事项
对我有用的部分
- 故障排查思路:当公网SSH连接失败但服务在线时,问题可能在于回程链路而非服务本身,可通过抓包分析(SYN到达但握手未完成)来定位。
- Tailscale的实用场景:作为一种Overlay网络工具,可用于快速建立设备间的私有、稳定连接,绕过有问题的公网路由,尤其适用于跨运营商或复杂网络环境下的设备互访。
- 安全与业务连续性平衡:在解决连接问题的同时,强调“先保持原有配置不动,验证新方案稳定后再考虑收紧公网入口”的稳妥操作流程,并给出了后续禁用root密码、改用密钥登录等安全优化建议。
标签建议
SSH连接故障,Tailscale,私有网络,VPS管理,网络排障
原文摘录
[!info] Info
真诚 、 友善 、 团结 、 专业 ,共建你我引以为荣之社区。 《社区准则》
这是 bin0.o 首次发帖 - 让我们欢迎他/她加入社区吧!
使用 Tailscale 解决本地无法 SSH 连接 VPS 教程
本文记录一次真实排障过程:VPS 在公司电脑可以用SSH正常连接,但在本地设备上通过 SSH 经常超时(压根连不上),我怀疑是运营商不同的问题。捣鼓了各种方法,换端口(22换到443),没有用。最终通过 Tailscale 给本地电脑和 VPS 建了一条稳定的私有网络通道,成功实现 SSH 连接。
适用场景
如果你遇到下面这些情况,这篇教程基本就适用:
- VPS 在线,
ping能通。 - 本地
ssh root@公网IP或ssh -p 443 root@公网IP一直超时,挂vpn也不行。 - 公司网络能连,家庭宽带、手机热点或移动网连不上。
- 你有 VPS 的
VNC或控制台权限,可以登录服务器终端。
这次问题的典型现象
本地已经能测到 443 端口,但 SSH 连接依然超时,说明问题不一定在 VPS 配置本身,也可能在公网回程链路上。
为了进一步确认,我们在 VPS 上抓包,看到本地的 SYN 到了,VPS 也返回了 SYN,ACK ,但客户端迟迟没有完成后续握手。这说明 VPS 侧基本正常,问题更像是公网链路或本地网络环境导致的丢包。
为什么改用 Tailscale
Tailscale 的核心思路是:
- 给本地电脑和 VPS 拉进同一个私有网络。
- 每台设备获得一个
100.x.x.x的内网地址。 - 以后直接用这个内网地址 SSH,不再依赖那条有问题的公网路径。
优点是:
- 对现有 VPS 业务影响很小。
- 不需要先修好公网 SSH 才能继续工作。
- 安全性通常比直接暴露公网 SSH 更好。
安装前说明
这篇教程对应的环境是:
- 本地系统:Windows
- 远程系统:Ubuntu 24.04
- 远程管理方式:VNC
在开始之前,请确认:
- 你本地电脑可以正常打开网页并登录 Tailscale 账号。
- 你能通过 VNC 进入 VPS 终端。
- 不要先删掉现有 SSH 配置,先把 Tailscale 连通。
第 1 步:在 Windows 上安装 Tailscale
先在本地 Windows 安装 Tailscale 客户端 https://tailscale.com/download/windows 。如果安装时出现下面的提示,说明系统依赖服务 iphlpsvc 被禁用了。
这时用管理员 PowerShell 执行:
Set-Service -Name iphlpsvc -StartupType Automatic
Start-Service -Name iphlpsvc
Get-Service -Name iphlpsvc
执行成功后,应该看到 Status 为 Running 。
然后重新打开 Tailscale,登录你的账号。登录成功后,Windows 端会加入你的 tailnet。
第 2 步:在 VPS 上安装 Tailscale
登录 VPS 的 VNC 终端,执行下面两条命令:
curl -fsSL https://tailscale.com/install.sh | sh
sudo tailscale up --ssh
说明:
- 第一条命令用于安装 Tailscale。
- 第二条命令用于启动 Tailscale,并开启 Tailscale SSH 支持。
执行后,终端通常会返回一个登录链接。你只需要在本地浏览器中打开这个链接并授权即可。
第 3 步:获取 VPS 的 Tailscale 内网 IP
在 VPS 上执行:
tailscale ip -4
tailscale status
如果一切正常,你会看到:
- VPS 获得了一个
100.x.x.x地址。 - Windows 和 Linux 两台设备都在同一个 tailnet 中。
这次实际拿到的 VPS 地址是 100.x.x.x 。
第 4 步:从本地通过 Tailscale SSH 连接 VPS
此时不要再用公网 IP:
ssh [email protected]
改成直接连接 Tailscale 地址:
ssh [email protected]
也就是用下图这个新ip, https://login.tailscale.com/admin/machines
连接成功后,你会直接进入 VPS Shell,说明问题已经被绕开了。
第 5 步:在管理后台确认两台设备都在线
你还可以登录 Tailscale 管理后台确认状态。如果看到 Windows 和 VPS 都是 Connected ,说明这条私有链路已经建立成功。
常用命令汇总
Windows
检查 Tailscale 是否在线:
tailscale status
使用内网地址 SSH:
ssh [email protected]
Ubuntu VPS
查看 Tailscale 状态:
tailscale status
查看 Tailscale IPv4 地址:
tailscale ip -4
确保服务开机自启:
sudo systemctl enable tailscaled
sudo systemctl start tailscaled
开机自启建议
Windows
如果你以后要长期通过 Tailscale 登录 VPS,建议把 Windows 客户端设置为开机自动运行,并启用 Run unattended 。这样重启电脑后也不用每次手动重新登录。
Ubuntu VPS
Ubuntu 侧通常在安装后就会以服务方式运行,但仍建议执行一次:
sudo systemctl enable tailscaled
这套方案会不会影响 VPS 上原有项目
通常不会。
原因很简单:
- Tailscale 只是给服务器增加了一条额外的私有网络路径。
- 它不会直接修改你原来的 Web 服务、数据库服务或项目进程。
- 只要你不主动去改现有防火墙、Nginx、Docker、应用端口,这套方案对原有业务基本是无侵入的。
更稳妥的做法是:
- 先保持原有公网配置不动。
- 先验证 Tailscale SSH 可以稳定登录。
- 确认业务正常后,再决定是否收紧公网 SSH 入口。
使用这套方案时要记住的一点
如果你以后使用的是 Tailscale 内网地址登录 VPS,那么:
- 本地电脑的 Tailscale 需要在线。
- VPS 的 Tailscale 也需要在线。
也就是说,你连接的是:
你的电脑 -> Tailscale 私有网络 -> VPS
而不是:
你的电脑 -> 公网 SSH -> VPS
推荐的后续优化
在确认 Tailscale 连接稳定后,可以继续做这些安全优化:
- 禁用 root 密码登录。
- 改为普通用户 + SSH Key 登录。
- 只保留 Tailscale 访问 SSH,不再对公网开放 SSH 端口。
结论
这次问题的本质不是 VPS 挂掉,也不是 SSH 没启动,而是公网路径不稳定(可能是移动的问题,因为我用其他网络成功连接了),导致本地设备很难稳定完成 SSH 握手。通过给本地电脑和 VPS 同时安装 Tailscale ,我们成功绕开了这条异常公网链路,最终用内网地址稳定登录了 VPS。
在下是刚刚接触vps3天的新手小白,如果有更好的方法,欢迎各位佬支招!


评论区