zoukankan      html  css  js  c++  java
  • 配置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
  • 相关阅读:
    最大子数组问题(分治策略实现)
    Solving the Detached Many-to-Many Problem with the Entity Framework
    Working With Entity Framework Detached Objects
    Attaching detached POCO to EF DbContext
    如何获取qq空间最近访问人列表
    Health Monitoring in ASP.NET 2.0
    problem with displaying the markers on Google maps
    WebMatrix Database.Open… Close() and Dispose()
    Accessing and Updating Data in ASP.NET: Retrieving XML Data with XmlDataSource Control
    Create web setup project that has crystal reports and sql script run manually on client system
  • 原文地址:https://www.cnblogs.com/faraway/p/1259350.html
Copyright © 2011-2022 走看看