当前位置:主页>科 研>学术交流>

使用SSH+VNC实现安全的Linux远程桌面管理

  VNC可以对数据进行压缩,使得传输的数据量比直接用SSH加密的小,但是缺点有一到两次机会让同一网段的计算机用sniffer窃听到用户名和密码。认证之后的数据可以进行加密传输,所以使用过程中如果经过配置,则是安全的,否则传输内容不能保证完全保密。必要时可以通过SSH进行加密端口映射来保证传输用户名和密码的时候也是加密的,这一操作占用的额外带宽是极少的。

  至于SSH保护VNC的安全,需要使用SSH的端口转发功能。一般在客户端使用的是Linux的时候,可以先用SSH建立链接,语法上应当添加“-L 本地端口:本地地址:远程端口 远程地址”这一附加参数,比如说本地是X.Y.Z.W,服务器是A.B.C.D,要转发的端口本地的是5901,远程的也是5901,那么命令应当是:ssh -L 5901:X.Y.Z.W:5901 A.B.C.D

  其他的参数多数可以同时使用。执行完毕后就已经创建了服务器5901端口和本地5901端口的加密隧道。假设要链接的服务器上运行的VNC桌面号是2,则继续执行如下命令:vncviewer A.B.C.D:2

  这样打开的VNC窗口所有数据都经过了SSH的加密。

  由于一般管理情况下多采用SSH的Windows客户端,也就是SSH Secure Shell,所以下面介绍如何配置Windows下的SSH Secure Shell来配合VNC实现安全的Linux远程桌面管理。

  首先,在SSH Secure Shell的主界面上选择Settings下的Tunneling,如图所示。

  然后,选择添加一个配置,如图所示,其中Listen是本机端口,Destination是远程地址和端口,Display可以设定自己的描述。

使用SSH+VNC实现安全的Linux远程桌面管理

  为SSH Secure Shell设定Tunneling

使用SSH+VNC实现安全的Linux远程桌面管理

  Tunneling设定的具体选项

  最后,再运行vncviewer来链接即可。特别值得注意的是:此处Server的地址不是需要连接的VNC Server的地址,而是前面设定的本机的SSH侦听端口的地址,因为所有通往VNC Server的流量都需要先经过本机的SSH进行转发,如图所示,一般设定为localhost加端口即可,该端口就是在图中设定的SSH的侦听端口。

使用SSH+VNC实现安全的Linux远程桌面管理

  使用Windows中的VNC Viewer连接Linux端的VNC Server

  下图清晰地给出了使用Wireshark对上述通信的流量进行抓包的结果,可以看到,从客户端去往服务器端的VNC流量,均采用SSH协议进行了加密传输,因此针对传统的未经过SSH加密处理的VNC通信来说要安全很多,能够有效地避免窃听和中间人攻击:

使用SSH+VNC实现安全的Linux远程桌面管理

  针对上述通信流程的抓包结果显示

(责任编辑:安博涛)

分享到:

更多
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
  • 微笑/wx
  • 撇嘴/pz
  • 抓狂/zk
  • 流汗/lh
  • 大兵/db
  • 奋斗/fd
  • 疑问/yw
  • 晕/y
  • 偷笑/wx
  • 可爱/ka
  • 傲慢/am
  • 惊恐/jk
用户名: 验证码:点击我更换图片
资料下载专区
图文资讯

容器是如何让“一切都是代码”成为现实的

容器是如何让“一切都是代码”成为现实的

现代应用的发展在很大程度上要归功于DevOps运动的蓬勃兴起以及该运动所产生的各种自动...[详细]

如何快速掌握一门新技术/语言/框架

如何快速掌握一门新技术/语言/框架

IT行业中的企业特点是都属于知识密集型企业。这种企业的核心竞争力与员工的知识和技能...[详细]

建高效数据中心有径可循

建高效数据中心有径可循

能耗问题一直是各大数据中心的心头之痛。有数据表明,2015年我国数据中心能耗预计将高...[详细]

2015黑帽大会:网络灾难后 重建IT安全

2015黑帽大会:网络灾难后 重建IT安全

在遭遇网络灾难后重建IT安全似乎是不可能完成的任务,但根据安全专家Christina Kubeck...[详细]

面对DNS劫持 企业移动应用该如何防护?

面对DNS劫持 企业移动应用该如何防护?

DNS(Domain Name System)劫持又称域名劫持,是指对正常的域名解析请求加以拦截,转而...[详细]

返回首页 返回顶部