1配置vnc服务<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

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操作系统出现无法显示中文,请参考如下网站解决: