![Ubuntu 桌面 12.04 之间的 VNC 通过 SSH 隧道连接 22、5900 和 6000 三个端口是否全部打开?](https://linux22.com/image/1403560/Ubuntu%20%E6%A1%8C%E9%9D%A2%2012.04%20%E4%B9%8B%E9%97%B4%E7%9A%84%20VNC%20%E9%80%9A%E8%BF%87%20SSH%20%E9%9A%A7%E9%81%93%E8%BF%9E%E6%8E%A5%2022%E3%80%815900%20%E5%92%8C%206000%20%E4%B8%89%E4%B8%AA%E7%AB%AF%E5%8F%A3%E6%98%AF%E5%90%A6%E5%85%A8%E9%83%A8%E6%89%93%E5%BC%80%EF%BC%9F.png)
好的,我终于让 VNC 通过 SSH 隧道在 LAN 上工作了,但目标是在 Internet 上使用它,所以我有点担心服务器开放的端口。扫描端口,我可以看到这些端口开放:22、5900 和 6000。
到目前为止我给出的步骤如下:
在服务器上安装‘vnc4server’。
编辑 /etc/init/vnc-server.conf 使其看起来像这样:
# vnc-server.conf start on runlevel [2345] stop on runlevel [016] post-start script su remote_user_name -c '/usr/bin/vnc4server :0 -geometry 1024x768' end script post-stop script su remote_user_name -c '/usr/bin/vnc4server -kill :0' end script #End of File
通过执行以下命令设置 VNC 密码:
$ su remote_user_name -c 'vnc4server :0 -geometry 1024x768'
编辑 xstartup 使其看起来像这样:
#!/bin/sh [ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup [ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources xsetroot -solid grey vncconfig -iconic & x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" & x-window-manager & gnome-session --session=gnome-classic &
最后,我重新启动了 VNV 服务器(启动 -vnc-server,停止 -vnc-server)。
在客户端,我使用 Remmina 建立连接,并在 SSH 选项卡上使用以下配置:
Enable SSH tunnel <- checked Tunnel via loopback address <- unchecked SSH port: 22 (I'ts my mind to change it, but later) SSH Auth: Password (I know how to make it with Pub-key; I'll do it later)
嗯...我想将服务器放在远程 LAN 上,我不喜欢打开 5900 和 6000 端口...我应该这样做吗?必须这样配置吗?
答案1
好的,解决了:显然 5900 和 6000 不能从本地主机以外的任何 IP 访问。
也许这会对像我一样有点困惑的人有所帮助,所以我会留下这个帖子。