博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

Tailscale + RustDesk 远程桌面完整笔记

Posted on 2026-10-01 10:10  steve.z  阅读(69)  评论(0)    收藏  举报

Tailscale + RustDesk 远程桌面完整笔记

适用场景:实验室 Ubuntu(局域网,被控端) + macOS / iOS(控制端),从公网任意位置安全访问实验室电脑


一、方案原理与优势

组件 作用
Tailscale 基于 WireGuard 的零配置虚拟局域网,设备获得 100.x.x.x 私有 IP,无需公网 IP、无需端口映射
RustDesk 开源远程桌面,开启「直接 IP 访问」后通过 Tailscale IP 直连,数据走加密通道

核心优点:

  • 比 ToDesk 更私密(几乎不经过第三方中继)
  • 免费无连接时长 / 设备数限制
  • 可同时支持桌面控制、SSH、文件传输
  • 支持 macOS、iOS、Windows、Linux 作为控制端

两边都需要安装:Tailscale + RustDesk。


二、实验室 Ubuntu(被控端)完整配置

1. 安装 Tailscale

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

浏览器打开链接,用 Google / Microsoft / GitHub 账号登录。

查看 IP:

tailscale ip -4

记下结果(示例:100.94.66.21)。

推荐设置(常开电脑):

sudo tailscale set --key-expiry=never
sudo systemctl enable --now tailscaled

2. 安装 RustDesk

从 GitHub Releases 下载最新 .deb:

cd ~/Downloads
sudo apt install -fy ./rustdesk-*.deb

确认服务运行并开机自启:

sudo systemctl enable --now rustdesk
systemctl status rustdesk

3. 配置 RustDesk(关键)

rustdesk
  1. 点击左侧 ID 旁的 三个点 → 设置
  2. 进入 安全 标签 → 点击 解锁安全设置
  3. 完成两项:
    • 勾选 启用直接 IP 访问(Enable direct IP access)
    • 点击 设置永久密码(建议 12 位以上,务必记牢)

4. 解决可能的黑屏问题(Ubuntu 24.04+)

Ubuntu 默认 Wayland,远程可能黑屏。建议切换到 Xorg:

  • 注销 → 登录界面点击用户名旁齿轮 → 选择 Ubuntu on Xorg → 登录

永久切换(可选):

sudo nano /etc/gdm3/custom.conf
# 取消注释:WaylandEnable=false
sudo reboot

5. 开启 SSH 服务器(用于命令行和文件传输)

sudo apt update
sudo apt install -y openssh-server
sudo systemctl enable --now ssh

确认状态:

sudo systemctl status ssh
# 或
sudo ss -tlnp | grep :22

安全建议:

  • 优先只用 Tailscale IP 连接,不要把 22 端口暴露到公网
  • 禁止 root 远程登录:编辑 /etc/ssh/sshd_config,设置 PermitRootLogin no,然后 sudo systemctl restart ssh

6. 开机自启最终确认

sudo systemctl enable --now tailscaled
sudo systemctl enable --now rustdesk
sudo systemctl enable --now ssh

# 检查结果
systemctl is-enabled tailscaled rustdesk ssh
systemctl is-active tailscaled rustdesk ssh

理想输出均为 enabled / active。


三、macOS M2(控制端)配置

1. 安装 Tailscale

  1. 打开 https://tailscale.com/download/mac
  2. 下载 Standalone 版本并安装
  3. 登录与 Ubuntu 同一个账号
  4. 允许 VPN 配置和系统扩展权限

2. 安装 RustDesk

brew install --cask rustdesk

或从 GitHub Releases 下载 macOS .dmg(选 aarch64)。

首次打开后,在 系统设置 → 隐私与安全性 中开启:

  • 辅助功能(Accessibility)
  • 屏幕录制(Screen Recording)
  • 输入监控(Input Monitoring,如需要)

3. 连接 Ubuntu

  1. 打开 RustDesk
  2. 输入框输入 Ubuntu 的 Tailscale IP:100.94.66.21
  3. 点击连接,输入永久密码

四、iOS(iPhone / iPad)作为控制端

功能 支持情况
用 iPhone/iPad 控制 Ubuntu ✅ 支持
把 iPhone/iPad 作为被控端 ❌ 不支持(苹果限制)

步骤:

  1. App Store 安装 Tailscale 和 RustDesk
  2. Tailscale 登录同一账号
  3. RustDesk 输入 100.94.66.21 + 永久密码连接

五、文件传输方式

场景 推荐方式 说明
临时传几个文件 RustDesk 内置文件传输 连接后点文件夹图标拖拽
经常传文件 / 大文件 SCP / SFTP 最稳定高效
图形界面传文件 Cyberduck / Finder 友好易用
持续同步文件夹 Syncthing 自动双向同步

SCP 命令示例(Tailscale IP)

# Mac → Ubuntu
scp ~/Desktop/文件.pdf 用户名@100.94.66.21:~/Downloads/

# Ubuntu → Mac
scp 用户名@100.94.66.21:~/Documents/报告.docx ~/Desktop/

# 传文件夹
scp -r ~/项目文件夹 用户名@100.94.66.21:~/

Finder 图形化连接

按 Cmd + K,输入:

sftp://100.94.66.21

输入 Ubuntu 用户名和密码即可。

SSH 登录

ssh 用户名@100.94.66.21

六、常用检查命令

Ubuntu 端:

# Tailscale
tailscale status
tailscale ip -4

# RustDesk
systemctl status rustdesk

# SSH
systemctl status ssh
sudo ss -tlnp | grep :22

macOS 端:

  • 菜单栏查看 Tailscale 连接状态
  • RustDesk 直接输入 IP 连接

七、常见问题与处理

问题 解决方法
连接超时 确认两边 Tailscale 已登录同一账号且在线
提示需要密码但连不上 确认 Ubuntu 已开启「直接 IP 访问」并设置永久密码
黑屏 Ubuntu 切换到 Xorg(登录界面选 Ubuntu on Xorg)
重启后无法连接 检查 systemctl status rustdesk 和 tailscale status
文件传输慢 优先用 SCP/SFTP,避免走 RustDesk 中继
想改设备名称 登录 Tailscale 管理后台 修改

八、安全与维护建议

  • 永久密码使用强密码,不要与其他账号共用
  • 仅允许自己信任的设备加入 Tailscale 网络
  • 优先通过 Tailscale IP 访问,避免暴露公网端口
  • 定期更新 Tailscale 和 RustDesk
  • 实验室电脑建议开启自动登录 + 适当延长锁屏时间
  • 不需要时,可在 Tailscale 后台临时禁用设备

九、快速复现清单(新环境)

Ubuntu 被控端:

  1. curl -fsSL https://tailscale.com/install.sh | sh && sudo tailscale up
  2. sudo tailscale set --key-expiry=never
  3. 安装最新 rustdesk-*.deb,sudo systemctl enable --now rustdesk
  4. 打开 RustDesk → 安全 → 启用直接 IP 访问 + 设置永久密码
  5. sudo apt install -y openssh-server && sudo systemctl enable --now ssh
  6. 记录 tailscale ip -4
  7. (推荐)切换到 Xorg

macOS / iOS 控制端:

  1. 安装 Tailscale,登录同一账号
  2. 安装 RustDesk
  3. 输入 Ubuntu 的 100.x.x.x + 永久密码连接

十、本环境实际信息(参考)

项目 值
Ubuntu Tailscale IP 100.94.66.21
Ubuntu 用户名 steve-xiaohu-zhao
控制端 macOS M2 + iOS
方案 Tailscale + RustDesk + SSH

此方案已在 Ubuntu(被控)+ macOS M2(控制)环境验证通过,可直接复用。