vncserver -localhost 和 ssh 隧道

vncserver -localhost 和 ssh 隧道

我正在尝试从我的 centos 5.10 机器设置 ssh 隧道 vnc 连接,并且一直在关注一些在线教程,例如这个:https://wiki.archlinux.org/index.php/Vncserver。我正在像这样运行服务器:$ vncserver -geometry 1024x768 -localhost :1并像这样连接到 openssh 客户端:。然后我使用 realvnc viewer 连接到 localhost:5900。出于某种原因,如果我使用 -localhost 参数,这不起作用,但如果我省略它,它会很好地工作。所有指南都说使用它更安全。我想这可能是服务器端的配置问题,但我目前几乎不知所措,我已经尝试了很多东西。有人能告诉我为什么会发生这种情况吗?ssh -f [email protected] -L 5900:vnc.machine:5901 -N

答案1

-localhost选项告诉 VNC 服务器仅绑定到环回接口,这样您只能从运行 VNC 服务器的机器连接到 VNC 服务器。这意味着任何试图闯入您的 VNC 会话的人都必须能够进入该特定机器。如果没有 ,-localhost您的 VNC 服务器将接受非本地连接,因此攻击者可以使用另一台机器尝试闯入您的 VNC 会话。

如果您要使用-localhost,那么您应该传递-L 5900:localhost:5901,而不是-L 5900:vnc.machine:5901,因为您的 VNC 服务器只在环回(本地主机)接口上监听。

答案2

jjlin的答案涵盖了故障排除,但要真正确保安全,您还应该传递-nolisten tcp给。这确保事物端vncserver不会有开放的 TCP 侦听器。X

相关内容