我正在尝试通过 SSH 共享 Ubuntu 桌面(我的公司要求通过 SSH 共享,不能使用 VNC)。我安装了 xrdp,更新了它,启用了它并添加了防火墙规则。现在 nmap 命令显示它正在监听 3389 端口。这是 nmap localhost 命令:
Starting Nmap 7.92 ( https://nmap.org ) at 2022-04-07 12:01 IDT
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00014s latency).
Not shown: 995 closed tcp ports (conn-refused)
PORT STATE SERVICE
80/tcp open http
631/tcp open ipp
3306/tcp open mysql
3389/tcp open ms-wbt-server
5900/tcp open vnc
然而,当我尝试从我的 Windows 客户端连接时,无论是从内置的 Windows 远程还是从 PuTTY,他们都找不到计算机。
我重新检查了IP地址,地址是正确的。
谁知道我该怎么办?
谢谢!
答案1
根据您的问题,您似乎希望使用 xRDP 并通过 SSH 隧道保护它。您可以在此处找到有关如何执行此操作的详细信息 ([xRDP – 如何在 Ubuntu 20.04 上使用 SSH 隧道保护 Xrdp 连接])
简而言之,你需要
在你的 Ubuntu 机器上安装 xrdp 软件
sudo apt-get 安装 xrdp -y
在 Ubuntu 机器上安装 Open-SSH 服务器
sudo apt-get 安装 openssh-server
调整 xrdp.ini 文件,以强制通过端口 3389 进行 SSH 连接
将 xrdp port=3389 中的行替换为 port=tcp://.:3389
重新启动 xrdp 服务
sudo systemctl 重新启动 xrdp
此时,你的 Ubuntu 机器已配置完毕,你可以使用你最喜欢的 SSH 客户端通过 SSH 隧道进行连接
假设你正在使用 Windows 10 上内置的 ssh 客户端,你可以使用类似下面的命令连接到你的 UBuntu 机器
ssh %user%@%servername-or-ip% -L %LocalPort%:127.0.0.1:%RemotePort%
显然,您必须用您的值替换 %% 值,然后您就应该能够登录到您的 Ubuntu 桌面。下面是一个使用虚假值的示例(仅用于显示要使用的语法)
ex. ssh admin@ubuntu -L5555:127.0.0.1:3389
希望这能有所帮助,下次见