• 配置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
  • 相关阅读:
    迈步从头越
    C 语言中用bsearch()实现查找操作
    ASP.NET 远程调试
    JsonHelper
    json数据中包含html代码的解决方法
    js对url的常见操作
    jquery中ajax中get和post的用法
    图片和文件合成为图片的方法(黑客)
    数据库分库知识
    长链接转短链接的方法(百度、新浪、腾讯)
  • 原文地址:https://www.cnblogs.com/faraway/p/1259350.html
Copyright © 2020-2023  润新知