Tailscale 在linux+ Windows 场景下的使用***

	这里的linux以ubuntu为例,mac同理

适合:

  • 你有一台 Ubuntu 桌面机(比如养小龙虾放资料)
  • 你想从 Windows 安全地连接过去
  • 你把 安全 放在第一位
  • 你希望这份说明能 拿来就用

1. Tailscale 到底是什么

先用一句说:

Tailscale 不是远程桌面软件,它更像是把你的 Windows、Ubuntu、手机等设备放进同一个私有网络里。

设备先进入这个私有网络,之后你再做这些事:

  • SSH 管理 Ubuntu
  • 远程桌面(RDP) 看 Ubuntu 桌面
  • 用浏览器访问 Ubuntu 上的 Web 服务
  • 在设备之间传文件

你可以这样理解它的分工

  • Tailscale:负责“让两台机器安全看见彼此”
  • SSH:负责“命令行远程管理”
  • 远程桌面(RDP):负责“看agent在干嘛”

2. 为什么推荐这样用

  1. 不需要暴露公网端口

    • 不用把 22(不用把 )或 3389(RDP)直接暴露到互联网
    • 安全性更高
  2. 连接方式统一

    • Windows 和 Ubuntu 都先加入同一个 tailnet
    • 然后直接用主机名或 Tailscale IP 连接
  3. 管理和看图分开

    • 系统维护用 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 连
建议

一定改。
建议用简单、短、能一眼认出来的名字,比如:

  • tradebox
  • ubuntu-desktop
  • labpc
  • homeubuntu

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 status
  • tailscale ip -4
  • tailscale ping
  • tailscale netcheck
  • ssh 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( ̄▽ ̄)ブ

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐