VNC over SSH tunnel, 意为建立在SSH通道上的VNC. 这样做可以达到2个目的, 一是可以增强VNC的安全性, 二是如果VNC速度太慢, 可以走SSH通道作为代理. 本文介绍其配置方法.
使用环境:
A机在韩国, IP为1.1.1.1, 速度较快
B机在美国, IP为8.8.8.8, 速度慢, 且有一个VNC桌面(ID号为:55)
由于我们直接连接B机的VNC桌面会非常慢, 此时我们可以借助A机的SSH服务跳转, 以达到加速VNC桌面的目的.
本地也是Linux环境, 本机有多位用户需要登陆到美国的VNC桌面上
1, 在A机(用于代理的机器)上以bear用户的身份生成SSH-Key, 并将私钥拷贝回本地
ssh-keygen -t rsa #一路回车即可 chmod 700 ~/.ssh cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys chmod 600 ~/.ssh/authorized_keys #必须做,否则在连接VNC的时候仍需要输入bear的密码
然后将私钥(id_rsa文件)拷贝回本地, 注意不是id_rsa.pub文件.
2, 在本地(也是Linux系统)指定SSH Tunnel相关参数
sudo apt-get install xvnc4viewer #安装VNC客户端 #定义VNC_VIA_CMD变量,指定SSH代理的端口(22),key文件(id_rsa),用户名(bear) export VNC_VIA_CMD='/usr/bin/ssh -x -p 22 -i /home/bear/id_rsa -l bear -f -L %L:%H:%R %G sleep 20'
然后就可以使用SSH Tunnel了
vncviewer -via 1.1.1.1 8.8.8.8:55 #使用SSH Tunnel连接远程VNC桌面 vncviewer 8.8.8.8:55 #不使用SSH Tunnel,直接连接远程VNC桌面
当然也可以写成如下格式
vim /etc/profile.d/vnc.sh #写入如下2行 export VNC_VIA_CMD='/usr/bin/ssh -x -p 22 -i /home/bear/id_rsa -l bear -f -L %L:%H:%R %G sleep 20' export myvnc='vncviewer -via 1.1.1.1' myvnc 8.8.8.8:55 #使用SSH Tunnel连接远程VNC桌面