Tailscale 组网 + Ubuntu 自带的 GNOME Remote Desktop,Windows 用 mstsc 直连。
1. 拿 Tailscale 地址
两台机器登录同一个 Tailscale 账号,在 Ubuntu 上:
bash
tailscale ip -4 # 记下这个 100.x.x.x
2. 装服务、生成证书
bash
sudo apt install gnome-remote-desktop
sudo mkdir -p /var/lib/gnome-remote-desktop
sudo openssl req -x509 -newkey rsa:4096 -days 3650 -nodes \
-keyout /var/lib/gnome-remote-desktop/rdp-key.pem \
-out /var/lib/gnome-remote-desktop/rdp-cert.pem \
-subj "/CN=$(hostname)"
sudo chown -R gnome-remote-desktop:gnome-remote-desktop /var/lib/gnome-remote-desktop
sudo chmod 600 /var/lib/gnome-remote-desktop/rdp-key.pem
3. 配置并启动
bash
sudo grdctl --system rdp set-tls-cert /var/lib/gnome-remote-desktop/rdp-cert.pem
sudo grdctl --system rdp set-tls-key /var/lib/gnome-remote-desktop/rdp-key.pem
sudo grdctl --system rdp set-credentials <用户名> <RDP密码>
sudo grdctl --system rdp disable-view-only
sudo grdctl --system rdp enable
sudo systemctl enable --now gnome-remote-desktop
sudo systemctl restart gnome-remote-desktop
sudo grdctl --system status
status 里要看到 Username 有值、View-only: no。
如果 ufw 是 active:
bash
sudo ufw allow in on tailscale0 to any port 3389 proto tcp
4. Windows 连接
Win+R → mstsc → 计算机填 100.x.x.x → 用第 3 步设的用户名密码 → 证书警告点是。
三个必须注意的点
--system不能省 ,也不能漏sudo。不带这个参数配的是另一套用户级实例,SSH 环境下配不成,status 里会显示Username: (empty)。disable-view-only不能漏,否则连上去鼠标键盘不起作用。- RDP 密码和系统密码是两套 ,登录时用
set-credentials设的那个。
Init TPM credentials failed 是正常提示,机器没 TPM 芯片而已,忽略。
出问题查日志:
bash
sudo journalctl -u gnome-remote-desktop -n 50 --no-pager