banner
约 600 字
2 分钟

Tailscale + xrdp 实现 Ubuntu 无公网远程控制方案

摘要

本文介绍了一种无需公网 IP 和端口转发的 Ubuntu 远程桌面方案。在 Ubuntu 端,需安装 Tailscale 并登录,安装 xrdp(推荐轻量级 Xfce),配置会话并放行 3389 端口。在 Windows 端,安装 Tailscale 并使用远程桌面连接到 Ubuntu 的 Tailscale IP。文中还提供了连接失败、黑屏等常见问题的解决方法。

前言

之前写 Ubuntu 远程控制方案时提到过内网穿透,当时用的端口转发,但很多朋友没有公网 IP。传统方案 frp、Ngrok 要么需要中转服务器,要么有流量限制。
Tailscale + xrdp,这是体验最像原生 Windows 远程桌面的方案,全程不用公网 IP、不用开路由器端口,免费版 Tailscale 个人套餐支持 100 台设备,完全够用

一、Ubuntu 端配置(被控机)

1. 安装并登录 Tailscale

bash
curl -fsSL https://tailscale.com/install.sh | sh
sudo tailscale up

4e7748cb651d21c9.png


运行后终端会打印一个 登录链接,复制到浏览器打开,用 Google / GitHub / Microsoft 账号登录。

ac0840b287322629.png


登录成功后 Ubuntu 会获得一个 100.x.x.x 的虚拟 IP。

2. 安装 xrdp

Ubuntu 桌面版,可直接用;但 GNOME 经 xrdp 容易黑屏/卡顿,推荐装轻量的 Xfce 更顺:

bash
sudo apt update
sudo apt install -y xfce4 xfce4-goodies xrdp

3. 让 xrdp 使用 Xfce

bash
echo "xfce4-session" > ~/.xsession
sudo systemctl enable --now xrdp
sudo systemctl restart xrdp

4. 放行端口(若开了 UFW 防火墙)

bash
sudo ufw allow 3389/tcp

5. 记下你的 Tailscale IP

bash
tailscale ip
# 比如我的是 100.102.53.68

151cc81290a615a0.png

二、Windows 端设置(你的电脑)

  1. 去 https://tailscale.com/download 装 Windows 版,登录同一个账号(和 Ubuntu 那步一致,这样两台机器才能互相看到)

    875133598fa5caf3.png
  2. 打开「远程桌面连接」(mstsc)

  3. 计算机填 Ubuntu 的 Tailscale IP(如 100.102.53.68

    3b0cf27237353bcc.png
  4. 用户名 / 密码填 Ubuntu 的登录账密

  5. 连接 → 看到 Xfce 桌面即成功 🎉

    e2acf787395759a8.png

三、常见坑

  • 连不上:先确认 Windows 端 Tailscale 已登录且状态绿色;ping <Ubuntu的Tailscale IP> 能通

  • 黑屏/认证循环:多半是 GNOME 会话问题,按第 3 步切到 Xfce 即可

  • 提示密码错误:用 sudo passwd $USER 重设 Ubuntu 密码

END