通过SSH隧道安全连接vncserver


当前大部分Linux发行版中都能够安装vncserver,但是由于免费版的vncserver不支持加密协议连接,所以在internet上通过vnc管理服务器还是存在不安全的因素。

当然,可以购买vncserver企业版,下面的文章是介绍如何通过ssh协议在internet上建立加密通道。

首先需要配置vncserver监听localhost,配置文件如下:

VNCSERVERS="1:oracle"
VNCSERVERARGS[1]="-geometry 1366x768 -alwaysshared -localhost"

根据ssh客户端的不同,建立加密通道的方式也不同。

OpenSSH比较简单,一条命令即可搞定。

ssh -L 5901:127.0.0.1:5901 oracle@internet_ip

Putty客户端配置可以参考:Tunneling Tight-VNC over ssh using PuTTY截图。

最后连接的时候,在VNC Viewer中输入localhost:1即可连接internet_ip对应的5901端口。

需要注意的是,如果需要同时连接两个公网IP的5901地址,可以在创建ssh隧道的时候指定不同的本地端口。例如:

ssh -L 5901:127.0.0.1:5901 oracle@internet_ip1
ssh -L 5903:127.0.0.1:5901 oracle@internet_ip2

VNC Viewer中输入localhost:3将会连接internet_ip2的5901端口。

参考:How to use VNC over SSH tunnelling for secure remote graphical sessions

Advertisements

发表评论

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 更改 )

Twitter picture

You are commenting using your Twitter account. Log Out / 更改 )

Facebook photo

You are commenting using your Facebook account. Log Out / 更改 )

Google+ photo

You are commenting using your Google+ account. Log Out / 更改 )

Connecting to %s