我目前在设置中有三台计算机(均运行Linux):
现在,我让FirewalledMachine使与Server的反向SSH会话保持打开状态。即FirewalledMachine持续检查是否存在反向SSH会话,如果没有,则打开一个反向SSH会话:
ssh -N -f -R 0.0.0.0:2210:localhost:22 user@Server
因此,现在,我始终可以使用以下命令从HomeMachine SSH进入FirewalledMachine:
ssh -p 2210 user@Server
我如何在HomeMachine的FirewalledMachine上查看display:0?看起来我可以使用ssvnc来执行此操作,但是我不确定如何执行此操作。
我将假设一些事情:
localhost
正确地映射在两台机器上。VNC端口从5900开始显示0,然后从那里开始。因此,可以通过以下方式更改客户端SSH命令,从而在连接期间创建SSH隧道:
$ ssh -p 2210 user@server
到:
$ ssh -L 5900:localhost:5900 -p 2210 user@server
(第一部分5900
是在客户端看到的隧道。第二部分localhost:5900
是相对于服务器端通过隧道到达的数据所连接的地址和端口。)
现在,远程VNC端口已映射到匹配的本地端口,因此您可以按以下方式连接VNC:
$ vncviewer localhost:0
(VNC使用X显示ID而不是端口号。尽管可以将服务器配置为使用其他起始端口,但Display 0通常映射到端口5900。)
如果由于本地X Windows系统等原因已经在使用端口,则尝试在本地使用5900可能会出现问题。如果是这种情况,则通过切换到其他本地端口可能会获得更好的结果,如下所示:
$ ssh -L 5910:localhost:5900 -p 2210 user@server
$ vncviewer localhost:10
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句