1配置vnc服务

VNC是虚拟网络计算Virtual Network Computing的缩写. 他是一个远程控制程序,允许用户在因特网的
任何地方使用简单的程序来和一个特定的.
1、确认已经安装了vpc的相关组件
#rpm -qa|grep vnc
vnc-4.0-11.el4
vnc-server-4.0-11.el4
2、添加VNC用户权限,以开放root用户权限为例,如下:
#vi /etc/sysconfig/vncservers
VNCSERVERS="1:root"
3、在启动vnc服务之前,让我们用vncpasswd这个命令来创建一个vnc的口令
创建口令后,会在用户的目录下生成一个隐藏目录.vnc(如本例中为/root/.vpc)
#vncpasswd
Password:
verify:
4、启动vnc服务,启动后会在/root/.vnc目录下生成文件(hostname:1.pidhostname:1.log
xstartup),然后修改xtartup文件
#service vncserver start
5、编辑xstartup的脚本,将这两行内容前面的注释符号去掉,否则就只能看到灰屏。
#vi xstartup
unset SESSION_MANAGER
exec /etc/X11/xinit/xinitrc
并把最后一行 twm& 改成 gnome-session& or kde&(据说KDE在目前的VNC Viewer上的表现不太稳定)
,不然连接后,可能不能正常显示桌面,而只有一个Terminal窗口
6、重启vnc server
#server vncserver restart
7、连接测试
linux
#vncviewer IP:1
windows:
vncviewer server窗口中输入 IP:5901
8、如果服务器设置了防火墙,那么需要修改权限,在iptables文件中加入相应的权限,然后重启iptables服务。
 
9、如果让vncserver 接收两个不同用户时候:
#vi /etc/sysconfig/vncservers
 
VNCSERVERS="1:root 2:username"
并设置好对应密码和防火墙。

2、通过ssh隧道实现加密的vnc远程

如果直接使用vncviewer来进行访问,有两点不利因素:
1. 
口令传输是明文,很容易被侦听到
.
2. 
防火墙需要打开59xx端口,这在通常的单位里是不可能的
.
幸运的是,我们有ssh这个强大的工具,X11 Forwarding(另文论述),我们可以使用ssh隧道来保护通讯过程,下面就进行简单介绍
.

假设vncserver运行在服务器 vmsup1 (ip地址为:192.168.2.24)的屏幕1,也就是侦听 192.168.2.24:5901, 用户名为root
情形一: vnc客户端为linux RHEL

这种情形很简单,一般的linux发行版本里面都默认安装了ssh套件.
1. 
ssh登录到服务器
ssh -L 5901:localhost:5901 username@hostname
如:
ssh –L 5901:localhost:5901 root@vmsup1
或者直接用ip地址
ssh -L 5901:localhost:5901 root@192.168.2.24
2. 在本机的另外开的终端上,运行vncviewer (或其它的类似工具)
vncviewer localhost:1
情形二: vnc客户端为windowsssh工具为putty

1. 
下载一个ssh客户端,putty.exe或者,只有一个程序,不需要安装,简单而功能齐全到这里下载
http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
下载putty.exe到桌面上直接运行即可。

2. 
运行putty,输入服务器的ip地址,输入一个名字,这里以vmsup1(主机名)作为session的名字,按save保存。见下图

3. 单击对话框左边的tunnels来选择相关设置,在source port里输入5901(本地vpc客户端连接的端口,可任意修改),在Destination里输入localhost:5901,按Add添加,如下图

4. 
单击左边session,回到session设置,按save重新保存。按open即可登录到服务器。
5. 
运行vnc-viewer (如果没有,到这里下载http://www.realvnc.com/download.html,只要一个exe的文件就行),在Server里输入localhost:1或者输入localhost:5901(本地vpc客户端映射的端口,见下图输入口令后一个linux的桌面就会出现在windows里。
情形二: vnc客户端为windowsssh工具为xmanager
1、  下载Xmanager工具
2、  通过xmanager工具新建一个Xshell,然后填写相应的名字,连接的服务器IP地址和端口,如下图所示。
 
3、  点击sshTunneling,然后点击Add,添加相应的设置如下所示。
说明:图中Listen Port为映射到本地客户端的端口,如果修改为7777,那么本地vnc连接端口即为7777 Destination Portvnc服务器配置的端口。
填写好后保存如下图所示。 然后点击OK即可连接到服务器。
4运行vnc-viewer ,在Server里输入localhost:1或者输入localhost:5901(本地vpc客户端映射的端口),见下图输入口令后一个linux的桌面就会出现在windows里。
 
 
 
 
 
注意:如果使用putty连接linux操作系统出现无法显示中文,请参考如下网站解决: