我运行本地 Ubuntu 机器。我在外部网络和 Windows 机器上。典型的 ssh 端口被网络阻止。有没有办法通过 Web(其他方式)ssh 到我的家庭 Ubuntu 机器,当我从网络 Windows 远程登录时,我可以启动应用程序并查看 gui 吗?寻求一些建议。
答案1
您可以让家里的 Ubuntu 机器在非默认端口上监听 SSH;查看man sshd_config
并查找端口设置。在 Ubuntu 中,要编辑的文件是/etc/ssh/sshd_config
。
如果你家里有网络防火墙,或者你的 ISP 有网络防火墙,那么你需要打开新端口。(或者,如果你家里有网络防火墙,你可以它在非默认端口上监听,并仅将该流量重定向到 Ubuntu 机器上的默认端口 22。)如何执行此操作将特定于防火墙或 ISP。
您可能需要使用超过一万左右的端口号,只是为了避免工作中潜在的阻塞。
不要忘记从您的配置向 SSH 客户端指定相同的数字,否则它仍会尝试达到默认值 22。
让 Ubuntu 机器上运行的 GUI 软件显示在 Windows 机器上是另一回事。简而言之,您还需要ssh(1)
在 SSH 客户端上启用 X11 转发(手册页中有关于 X11 转发的完整章节,请阅读这些章节)和服务器。在 Ubuntu 上,此功能通常默认启用,但请再次检查/etc/ssh/sshd_config
。
你还需要在 Windows 机器上运行某种 X11 服务器来处理实际的渲染和显示;这就是棘手的问题所在,也是另一个问题——你需要在这里进行大量的谷歌搜索,很大程度上取决于你是否能让 X11 服务器在雇主的计算机上运行。请记住,这样做可能会违反雇主的 IT 政策。