小龙虾时代:用于安全连接——内网穿透工具Tailscale 实用手册
Tailscale 在linux+ Windows 场景下的使用***
这里的linux以ubuntu为例,mac同理
适合:
- 你有一台 Ubuntu 桌面机(比如养小龙虾放资料)
- 你想从 Windows 安全地连接过去
- 你把 安全 放在第一位
- 你希望这份说明能 拿来就用
1. Tailscale 到底是什么
先用一句说:
Tailscale 不是远程桌面软件,它更像是把你的 Windows、Ubuntu、手机等设备放进同一个私有网络里。
设备先进入这个私有网络,之后你再做这些事:
- 用 SSH 管理 Ubuntu
- 用 远程桌面(RDP) 看 Ubuntu 桌面
- 用浏览器访问 Ubuntu 上的 Web 服务
- 在设备之间传文件
你可以这样理解它的分工
- Tailscale:负责“让两台机器安全看见彼此”
- SSH:负责“命令行远程管理”
- 远程桌面(RDP):负责“看agent在干嘛”
2. 为什么推荐这样用
-
不需要暴露公网端口
- 不用把
22(不用把 )或3389(RDP)直接暴露到互联网 - 安全性更高
- 不用把
-
连接方式统一
- Windows 和 Ubuntu 都先加入同一个 tailnet
- 然后直接用主机名或 Tailscale IP 连接
-
管理和看图分开
- 系统维护用 SSH
- 看桌面、看 K 线用远程桌面
3. 先搞清楚几个词
3.1 tailnet
就是你的 Tailscale 私有网络。
只要加入同一个 tailnet 的设备,彼此就更容易安全互联。
3.2 Tailscale IP
每台设备会分到一个 Tailscale IP,常见是 100.x.x.x 这样的地址。
例如:
100.121.112.23
3.3 Machine name(机器名)
这是 Tailscale 给设备使用的名字,通常来自你的系统主机名。
例如:
tradebox
你以后可以这样连:
ssh ubuntu@tradebox
3.4 MagicDNS
这是一个让你可以直接用机器名访问设备的功能。
有了它,你通常不用记 IP,只记机器名就够了。
3.5 Tailscale SSH
这是 Tailscale 管理 SSH 认证与访问的一种方式。 它不是“普通 SSH 的替代品”,更像是“把 SSH 这件事也放进 Tailscale 的安全体系里”。
4. 最推荐的小白使用方式
对大多数人,我推荐你这样分工:
平时这样用
- 看 Ubuntu 桌面 /agent在干嘛
-
用Windows 远程桌面(RDP)
-
用 SSH改配置 / 看日志 / 重启服务 / 跑命令
-
为什么不只用远程桌面
因为很多系统级事情,SSH 更稳、更快,也更适合排查。
为什么不只用 SSH
因为总有使用桌面工作流的时候(没有的话肯定就不用了0_0)
5. 先安装和首次登录
以下以 Ubuntu 为例。
5.1 安装 Tailscale
curl -fsSL https://tailscale.com/install.sh | sh
5.2 首次接入网络
sudo tailscale up
这个命令是什么意思
- 启动 Tailscale
- 让这台机器加入你的 tailnet
- 如果还没登录,会提示你打开一个登录链接
你会看到什么
第一次运行时,通常会输出一个登录 URL。
你需要在浏览器里打开它,登录你的 Tailscale 账号,让这台 Ubuntu 机器加入你的私有网络。
例子
sudo tailscale up
什么时候用
- 刚装完 Tailscale
- 设备掉线后重新登录
- 重新加入 tailnet
6. 最常用命令总表(小白版)
6.1 tailscale status
作用
查看当前设备和其他 Tailscale 设备的状态。
你能看到什么
- 哪些设备在线
- 设备名字
- Tailscale IP
- 连接状态
命令
tailscale status
例子
tailscale status
适合什么时候用
- 想确认自己有没有连上
- 想确认 Ubuntu 机器是不是在线
- 想确认 Windows 能不能看到 Ubuntu
重点说一下
如果你连不上任何东西,先不要着急改设置,先跑这个命令。
6.2
作用
查看 Tailscale IP。
常用写法
tailscale ip -4
意思是什么捏
只显示 IPv4 地址,更适合你平时复制去远程桌面或 SSH 使用。
例子
tailscale ip -4
输出示例
100.121.112.23
适合什么时候用
- 你要把 IP 填进 Windows 远程桌面
- 你想直接用 IP SSH 登录
- 你怀疑主机名解析有问题
6.3
作用
测试另一台 Tailscale 设备是否可达。
为什么不用普通
普通更多是系统网络层面的测试。 更适合排查 Tailscale 自己这条链路有没有问题。
命令示例
tailscale ping tradebox
或者:
tailscale ping 100.121.112.23
适合什么时候用
- Windows 连 Ubuntu 连不上
- SSH 连不上
- 远程桌面打不开
小白理解
先看在线,再看能不能 ping 通。
6.4 tailscale netcheck
作用
检查当前网络环境,判断是不是当前网络导致连接差或不稳定。
命令
tailscale netcheck
你该重点看什么
UDP: true/false
- :通常更好,更容易点对点直连
- :更可能走中继,延迟可能更高
Nearest DERP
- 离你最近的中继节点
DERP latency
- 中继节点延迟
- 如果延迟高,远程桌面或 SSH 可能会更卡
适合什么时候用
- 远程桌面很卡
- SSH 明明能连,但延迟奇怪
- 在公司网、酒店网、机场 Wi‑Fi 上使用时
小白理解
如果你感觉“能连上,但是很难用”,就运行这个。
6.5 tailscale set --ssh
作用
开启 Tailscale SSH。
命令
sudo tailscale set --ssh
这是什么意思
开启后,来自 Tailscale 网络内部的 SSH 连接可以由 Tailscale 管理认证和授权。
适合什么时候用
- 你想更安全地通过 Tailscale 使用 SSH
- 你不想暴露公网 SSH
- 你希望 SSH 和 Tailscale 身份体系结合
关闭方式
sudo tailscale set --ssh=false
一句话理解
这是“让 SSH 更像 Tailscale 生态的一部分”。
6.6
作用
修改当前设备在 Tailscale 里的机器名。
命令
sudo tailscale set --hostname=tradebox
为什么这条很重要
默认机器名有时很难记,改短以后,你以后就能用:
ssh ubuntu@tradebox
而不是记很长的名字或只记 IP。
适合什么时候用
- 新机器刚加入 tailnet
- 想把 Ubuntu 改成好记的名字
- 不想以后总靠 IP 连
建议
一定改。
建议用简单、短、能一眼认出来的名字,比如:
tradeboxubuntu-desktoplabpchomeubuntu
6.7 tailscale whois
作用
通过 Tailscale IP 反查对应的设备和用户。
命令
tailscale whois 100.121.112.23
适合什么时候用
- 日志里看见一个不知道是谁的设备
- 排查“到底是哪台机器在访问我”
一句话理解
就是“这个 IP 到底是谁”。
6.8 tailscale file cp
作用
在 Tailscale 设备之间传文件。
命令
tailscale file cp ./config.yaml tradebox:
意思
把当前目录下的 config.yaml 发到名字为 tradebox 的设备。
适合什么时候用
- 临时传配置文件
- 传截图、日志、脚本
- 不想开共享目录
6.9
作用
从本机 Tailscale 文件收件箱取文件。
命令
tailscale file get ~/Downloads
意思
把收到的文件取到 ~/Downloads 目录。
适合什么时候用
- 对方已经给你发了文件
- 你想在 Ubuntu 上把 Taildrop 收到的文件取下来
6.10 tailscale bugreport
作用
生成一个故障快照编号,方便后续排查。
命令
tailscale bugreport
什么时候用
- 问题偶发
- 现在正出问题,想保留现场
- 后面要追踪更深层的原因
说白话就是
这不是修复命令,它是“留证据”。
7. SSH 怎么理解、怎么用
7.1 SSH 是干什么的
SSH 适合这些事:
- 改配置文件
- 重启服务
- 看日志
- 更新系统
- 跑 Python 脚本
- 管理 Docker
7.2 什么时候优先用 SSH
只要你不是非得看图形界面,优先用 SSH。
7.3 连接格式
ssh 你的Ubuntu用户名@机器名
例如:
ssh ubuntu@tradebox
7.4 这里的用户名是什么
是 Ubuntu 本机里的登录用户名,不是 Tailscale 的账号名。
7.5 怎么看自己的 Ubuntu 用户名
whoami
例如输出:
ubuntu
7.6 SSH 怎么退出
exit
或者按:
Ctrl + D
如果 SSH 卡死了,可以在新的一行输入:
~.
8. 远程桌面怎么理解、怎么用
8.1 它适合做什么
- 看 Ubuntu 桌面
- 看agent在干嘛
8.2 Ubuntu 里怎么开
在 Ubuntu 图形界面里打开:
Settings → System → Remote Desktop
打开:
- Remote Desktop
- Remote Control
并设置远程桌面登录用的账号和密码。
8.3 Windows 怎么连
Windows 上打开:
mstsc
在“计算机”里填:
tradebox
8.4 凭证是什么
远程桌面一般要填:
- Ubuntu 远程桌面用户名
- 远程桌面密码
8.5 它和 Tailscale 登录账号不是一回事
Tailscale 账号是“让设备入网”的。
RDP 凭证是“让你进入 Ubuntu 桌面”的。
9. 一些容易疑惑的点
9.1 为什么已经登录了 Tailscale,还要输入 SSH 用户名或远程桌面密码?
因为 Tailscale 只负责“把路打通”。
真正登录 Ubuntu 这件事,还是要靠 SSH 或远程桌面自己的认证。
9.2 为什么我能看到设备在线,但还是连不上桌面?
可能原因有:
- Ubuntu 没开 Remote Desktop
- 你填错了机器名或 IP
- 当前网络很差
- 远程桌面用户名/密码不对
9.3 为什么我能 SSH,但桌面很卡?
通常说明:
- Tailscale 通了
- 但你的网络环境不太好
这时优先跑:
tailscale netcheck
10. 最适合连不上时的排查顺序
这是应该最值得收藏的一段,血泪经验(>_<)
当你“连不上”时,按这个顺序做:
第一步:看设备在不在线
tailscale status
如果目标设备不在线,先解决设备本身的联网或登录问题。
第二步:看有没有 Tailscale IP
tailscale ip -4
确认你拿到的是正确的 100.x.x.x 地址。
第三步:测试是否可达
tailscale ping tradebox
或者:
tailscale ping 100.121.112.23
如果 ping 不通,先不要急着怀疑 SSH 或远程桌面,先看网络链路。
第四步:检查当前网络环境
tailscale netcheck
特别看:
- UDP 是否可用
- DERP 延迟高不高
第五步:再区分是哪一层的问题
如果 SSH 不通
看:
- 目标机器是否在线
- 用户名是否正确
- 有没有开启 Tailscale SSH
- SSH 本身有没有配置问题
如果远程桌面不通
看:
- Ubuntu 是否开启了 Remote Desktop
- 用户名密码是否正确
- Windows 上填的是不是对的机器名或 IP
11. 最适合的推荐命令组合
假设你的 Ubuntu 机器叫 tradebox,你的 Ubuntu 用户名是 ubuntu。
首次准备
sudo tailscale up
sudo tailscale set --hostname=tradebox
sudo tailscale set --ssh
tailscale status
tailscale ip -4
日常 SSH 管理
ssh ubuntu@tradebox
日常远程桌面
Windows 里按:
mstsc
然后输入:
tradebox
排查三板斧
tailscale status
tailscale ping tradebox
tailscale netcheck
临时传文件
tailscale file cp ./log.txt tradebox:
12. 最该避免的坑
12.1 不要把公网端口乱暴露
如果你安全优先,就不要随便把:
- 22
- 3389
直接暴露到公网。
12.2 不要只靠记 IP
IP 虽然能用,但长期最舒服的还是机器名。
12.3 不要把 Tailscale 和 SSH /RDP 混为一谈
Tailscale 是“网络层入口”。
SSH 和 RDP 是“真正干活的方式”。
12.4 连不上时别一上来就重装
先按排查顺序一步一步看,很多时候只是名字、凭证或当前网络问题。
13. 最后总结
最常用
tailscale status
tailscale ip -4
tailscale ping tradebox
tailscale netcheck
开 SSH
sudo tailscale set --ssh
改机器名
sudo tailscale set --hostname=tradebox
SSH 登录
ssh ubuntu@tradebox
退出 SSH
exit
发文件
tailscale file cp ./config.yaml tradebox:
收文件
tailscale file get ~/Downloads
远程桌面(Windows)
mstsc
14. 最后的最后一些干货
如果是Windows 控 Ubuntu 桌面
Tailscale 负责把路打通,SSH 负责管系统,远程桌面负责看图和操作桌面。
大部分时间,只要记住这几个就够用了:
tailscale statustailscale ip -4tailscale pingtailscale netcheckssh ubuntu@tradebox
15. 参考资料(官方)
- Tailscale CLI Reference
- Tailscale SSH
- Tailscale MagicDNS
- Tailscale Machine Names
- Tailscale Linux Install Guide
- Tailscale Quickstart
- Ubuntu Desktop Remote Desktop Documentation
书写不易,搬运的话写一下出处嗷,如果你有什么可以补充的也欢迎在评论区补充o( ̄▽ ̄)ブ
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)