我设置了一个 SSH 加密的反向 VNC 连接,以便在需要帮助时可以远程访问我父母的 PC(运行 Ubuntu)。在这种情况下,反向 VNC 连接是必要的,原因如下:
- 父母的电脑位于 NAT 后面 – 我不想在他们的路由器上设置端口转发。
- 我的路由器已经正确设置,可以正常工作。
以下是我的做法:
在(我的)帮助台电脑(将控制父母电脑的电脑)上,
vncviewer
以监听模式启动:helpdeskpc:~$ vncviewer -listen Tue Aug 30 21:15:24 2011 main: Listening on port 5500
在父母的电脑上,运行以下命令:
noobpc:~$ ssh -t -L 5500:helpdeskpc:5500 localhost 'x11vnc -display :0 -connect helpdeskpc'
首先,我是否正确加密了我的反向 VNC 连接?
如果是这样,那么这里有一个更有趣的问题:作为一个偏执的人,我如何向自己证明 VNC 连接确实通过了 SSH 隧道?我无法理解输出的内容netstat
。
我可以使用哪些其他工具来验证 VNC 连接是否正确使用 SSH 隧道?
答案1
没有,你根本没有加密。
无论您指定什么其他选项,
ssh localhost
创建加密连接当地的machine。您执行的命令对此一无所知,并将自身连接到 helpdeskpc。相反,您想要
noobpc$ ssh -L 5500:localhost:5500 helpdeskpc
然后,在另一个终端中(或在分离 ssh 之后):
noobpc$ x11vnc -display :0 -connect localhost