配置VNC+PuTTY+SSH Tunnel访问Linux

原来一直在使用PuTTY+SSH登录Linux,如果要使用图形界面,再加上Xming,觉得已经比较安全和方便了。唯一感觉不完美的是不能直接使用Linux桌面。最近看到关于VNC的文章,可以直接访问远程桌面。下面是配置Windows下通过VNC访问Linux远程桌面的一点体会。

Linux主机:192.168.111.122,运行VNC服务和SSH服务。
Windows主机:192.168.111.189,运行VNC客户端VNC Viewer。

1. 首先要在Linux中安装和开启VNC服务,VNC开启了3个监听端口。

# netstat -tlnp | grep Xvnc
tcp        0      0 0.0.0.0:5801                0.0.0.0:*                   LISTEN      15830/Xvnc
tcp        0      0 0.0.0.0:5901                0.0.0.0:*                   LISTEN      15830/Xvnc
tcp        0      0 0.0.0.0:6001                0.0.0.0:*                   LISTEN      15830/Xvnc

2. 安装VNC Viewer后,输入"192.168.111.122:1",再输入口令即可登录到桌面,此时端口状态为:

# netstat -tanp|grep Xvnc
tcp        0      0 0.0.0.0:5801                0.0.0.0:*                   LISTEN      26855/Xvnc
tcp        0      0 0.0.0.0:5901                0.0.0.0:*                   LISTEN      26855/Xvnc
tcp        0      0 0.0.0.0:6001                0.0.0.0:*                   LISTEN      26855/Xvnc
tcp        0      0 192.168.111.122:5901        192.168.111.189:1690        ESTABLISHED 26855/Xvnc

可见实际上连接的端口为5901。分别尝试改写成5901,5801,6001,也只有5901能建立连接。有文章也提到VNC 3.x的默认端口是8500,4.x默认的端口是5900。

其实到此为止,就可以远程使用Linux桌面了。下面的步骤是为了提高VNC的安全性,使其通过SSH Tunnel访问Linux桌面。

3. 和使用PuTTY+SSH访问Linux主机一样,在PuTTY中建立一个访问Linux主机的连接。此时即可以与linux host的22端口建立SSH连接。

linux host                                                     windows host
192.168.111.122:22 <---------- SSH ----------> 192.168.111.189

在PuTTY的Connection->SSH->Tunnels中,source port填写5901,destination填写localhost:5901,类型为local,然后添加。在使用SSH登录登录到linux主机后,在两台主机间产生了一个SSH Tunnel。两台主机上5901端口上收发的数据都会通过SSH Tunnel传输,从而保证了安全性。如果希望使用SSH Tunnel,此时在VNC Viewer中填写的服务器地址应该写为localhost:1(或5901)。

linux host                                                                         windows host
192.168.111.122:5901 <------ SSH Tunnel -------> 192.168.111.189:5901 <--------> VNC Viewer
192.168.111.122:22   <---------- SSH ----------> 192.168.111.189

也可以使用PuTTY包中的plink建立SSH Tunnel。
plink -N -L 5901:192.168.111.122:5901 192.168.111.122


参考资料:
http://linux.chinaunix.net/bbs/viewthread.php?tid=495459
http://www.chedong.com/blog/archives/001246.html

你可能感兴趣的:(linux)