首页 > 代码库 > 设置VNC多用户登录
设置VNC多用户登录
1、安装VNC
yum install vnc-server
2、添加多个用户用户
useradd user1 //添加用户user1
passwd user1 //设置用户的linux登录密码
su user1 //切换到用户user1
vncpasswd //设置用户的user1登录密码
exit
useradd user2 //添加用户user2
passwd user2 //设置用户的linux登录密码
su user2 //切换到用户user2
vncpasswd //设置用户的user2登录密码
exit
3、编辑vnc配置文件
vi /etc/sysconfig/vncservers
在最后加上:
VNCSERVERS="1:user1 2:user2"
VNCSERVERSVNCSERVERARGS[1]="-geometry 1024x768 -alwaysshared"
VNCSERVERSVNCSERVERARGS[2]="-geometry 1024x768 -alwaysshared"
注意:-geometry 1024x768表示分辨率;-alwaysshared 表示允许多终端同时登陆
可以使用如下的方法启动多个桌面的VNC vncserver :1 vncserver :2 vncserver :3 ……
但是这种手工启动的方法在服务器重新启动之后将失效,
因此,下面介绍如何让系统自动管理多个桌面的VNC,方法是将需要自动管理的信息添加到/etc/sysconfig/vncservers配置文件中,
先以桌面1为root用户桌面2为oracle用户为例进行配置如下:
格式为:VNCSERVERS="桌面号:使用的用户名 桌面号:使用的用户名"
[root@testdb ~]# vi /etc/sysconfig/vncservers
VNCSERVERS="1:ro
配置多个桌面
可以使用如下的方法启动多个桌面的VNC
vncserver :1 vncserver :2 vncserver :3 ……
但是这种手工启动的方法在服务器重新启动之后将失效,因此,下面介绍如何让系统自动管理多个桌面的VNC,
方法是将需要自动管理的信息添加到/etc/sysconfig/vncservers配置文件中,先以桌面1为root用户桌面2为oracle用户为例进行配置如下:
格式为:VNCSERVERS="桌面号:使用的用户名 桌面号:使用的用户名"
[root@testdb ~]# vi /etc/sysconfig/vncservers
VNCSERVERS="1:root 2:oracle"
VNCSERVERARGS[1]="-geometry 1024x768"
VNCSERVERARGS[2]="-geometry 1024x768"
修改VNC访问的密码
使用命令vncpasswd对不同用户的VNC的密码进行修改,一定要注意,如果配置了不同用户的VNC需要分别到各自用户中进行修改,例如在我的这个实验中,root用户和oracle用户需要分别修改,修改过程如下:
[root@testdb ~]# vncpasswd
Password:
Verify:
或vncpasswd oracle
4、打开对应的端口
打开5901至5902 端口用于vnc //如果需要配置更多的桌面,增加端口即可
iptables -I INPUT -p tcp --dport 5901:5902 -j ACCEPT
iptables -A INPUT -p tcp --dport 5901:5902 -j ACCEPT
永久保存
service iptables save
4.启动vncserver服务
1)启动全部桌面
service vncserver start
2)启动某一桌面
vncserver :1 //这里1表示第一个桌面
5、停止vncserver服务
1)停止全部桌面
service vncserver stop
2) 停止某一桌面
vncserver -kill :1 //停止第1个界面,要用kill命令来杀掉界面1的进程
6、查看当前有几个桌面在运行
service vncserver status
7、让vncserver服务随机启动
默认状态下,vncserver服务不是开机自动启动,需要手工启动。
chkconfig --list vncserver
chkconfig vncserver on
保存后,重启测试。
8.客户端登录vncserver服务
(1)先安装vncviewer来远程登录,
(2)然后在地址栏输入“主机地址:1”(即主机IP加界面号的方式)
http://blog.sina.com.cn/s/blog_4ab088470100x605.html
http://blog.csdn.net/jkxsanger/article/details/8897306
1.安装VNC
# rpm -ivh rpm -ivh vnc-server-4.1.2-9.el5.i386.rpm
# rpm -ivh vnc-4.1.2-9.el5.i386.rpm
VNC是Virtual Network Computing(虚拟网络计算机)的缩写。VNC是由AT&T的欧洲研究实验室开发的一款优秀的跨平台远程桌面控制软件,支持 Linux,Unix,Windows等操作系统跨平台远程桌面控制。VNC有两部分组成,分别是:服务端(vncserver)和客户端 (vncviewer)
1. 在配置VNC前,必须了解VNC的运行机制
Linux下的VNC可以同时启动多个vncserver,各个vncserver之间用显示编号(display number)来区分,每个vncserver服务监听3个端口,它们分别是:
5800+显示编号: VNC的httpd监听端口,如果VNC客户端为IE,Firefox等非vncviewer时必须开放。
5900+显示编号: VNC服务端与客户端通信的真正端口,必须无条件开放。
6000+显示编号: X监听端口,可选。
显示编号、开放的端口分别由/etc/sysconfig/vncservers文件中的VNCSERVERS和VNCSERVERARGS控制。
VNCSERVERS的设置方式为
“VNCSERVERS="显示编号1:用户名1 …"”,如:VNCSERVERS="1:root 2:aiezu"。
VNCSERVERARGS的设置方式为
VNCSERVERARGS[显示编号1]="参数一 参数值一 参数二 参数值二 ……",
如VNCSERVERARGS[2]="-geometry 800x600 -nohttpd",
VNCSERVERARGS的详细参数有:
-geometry 桌面分辨率,默认1024x768;
-nohttpd 不监听HTTP端口(58xx端口);
-nolisten tcp 不监听X端口(60xx端口);
-localhost 只允许从本机访问;
-AlwaysShared 默认只同时允许一个vncviewer连接,此参数允许同时连多个vncviewer;
-SecurityTypes None 登录不需要密码认证VncAuth默认值,要密码认证。
2. 修改/etc/sysconfig/vncserver文件
vi /etc/sysconfig/vncserver
VNCSERVERS="1:root"
VNCSERVERARGS[1]="-geometry 1024x768 -nolisten tcp"
本例我们开启两个vncserver,分别是root用户,显示编号为1和用户user2,显示编号为3,并且全不开启X监听端口60xx。
vi /etc/sysconfig/vncserver,添加如下三行:
VNCSERVERS="1:root 3:user2"
VNCSERVERARGS[1]="-geometry 800x600 -nolisten tcp -nohttpd -alwaysshared"
VNCSERVERARGS[3]="-geometry 1024x768 -nolisten tcp -nohttpd -alwaysshared"
防火墙相关:
如果Linux启用了防火墙,必须允许VNC的相关端口(58xx,59xx,60xx)。具体的端口,请参照第2大步骤的①小步骤的VNC运行机制介绍,本例开启,5901,5903端口就可以。在Linux命令提示符下输入"system-config-securitylevel-tui"启动防火墙配置工具,点"Customize",在"Other Port"中输入" 5901:tcp 5903:tcp",然后点"OK"既可。
3. 设置VNC用户密码
接下来设置VNC的密码,此步骤不可跳过,否则VNC Server将无法启动,在Linux Shell下执行下列命令:
# vncpasswd
设置VNC用户密码:此步骤不可跳过,否则VNC Server将无法启动
# su - user2
# vncpasswd
# su - root
# vncpasswd
4. 启动VNC
# service vncserver start
运行上面命令后,会在用户根目录($HOME)下的".vnc"文件夹下生成一系列文件。其中passwd为vnc用户密码文件,由vncpasswd生成。其他的都由vnc初次启动时生成,xstartup为VNC客户端连接时启动的脚本
5. 修改".vnc/xstartup"文件
#!/bin/sh
# Uncomment the following two lines for normal desktop:
unset SESSION_MANAGER
exec /etc/X11/xinit/xinitrc[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
#xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
twm &
就是去掉相关行的注释即可。
修改下面配置完成界面化的实现...
vi /root/.vnc/xstartup 去除注释下面兩行的注釋,使之生效。
unset SESSION_MANAGER
exec /etc/X11/xinit/xinitrc
最後一行修改為:gnome-session &
执行到上面步骤后,VNC Server已经能正常运行。但是默认设置下,客户连接时启动的是xterm,我们如果想看到桌面,必须将用户根目录下的".vnc/xstartup"文件中的最后两行注释掉,然后根据你安装的桌面坏境,添加一行"startkde &"或者"gnome-session &"。如下:
#!/bin/sh
# Uncomment the following two lines for normal desktop:
# unset SESSION_MANAGER
# exec /etc/X11/xinit/xinitrc
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
#xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
#twm &
startkde &
# gnome-session &
配置完各个用户根目录下的".vnc/xstartup"后,执行service vncserver restart 重新启动vncserver使配置生效。
6. 如果Linux启用了防火墙,必须允许VNC的相关端口(58xx,59xx,60xx)
7. 在windows下使用IE进行远程控制连接:
使用浏览器连接时,服务端的VNCSERVERARGS设置必须没有"-nohttpd参数",并且防火墙允许VNC的58xx和59xx端口通过。浏览器必须安装了Java支持插件,Java插件下载地址:http://www.java.com/zh_CN/download/manual.jsp
6. 如何使得linux启动时,vnc服务自动启动...
a. 系统设置>服务器设置>服务 中把 vncserver 打勾
b. chkconfig vncserver on
常见问题:
问:为什么成功连接后,没有显示桌面,而只是现实一个Terminal窗口? 答:在未修改用户根目录下的".vnc/xstartup"文件,xstartup的默认设置即是此情况。请按上面文件修改xstartup,然后运行"service vncserver restart"重新启动vncserver服务即可。
问:如何查看VNC正在运行的显示编号端口号? 答:在Linux命令提示符下执行"netstat -tlup|grep vnc",即可以查看到端口号,端口号的后两位即显示编号。
问:如何关闭指定的显示编号? 答:vncserver -kill :number 即可以关闭指定的显示编号和对应的端口号。
问:为何我通过浏览器连接VNC 端口时,浏览器显示了一个红叉。 答:那是因为你的浏览器没装Java插件的缘故,下载Java插件安装即可。
问:客户端连接时"Connetcion timed out(10060)"是怎么回事? 答:对于客户端连接时出现"Connetcion timed out(10060)"或者"No route to host:connect",请检查防火墙是否开启了58xx,59xx,vncserver是否正常运行,以及/etc/sysconfig /vncserver文件配置是否正确。
1.vncviewer localhost:2 在本机执行
2.用ssh
然后重启iptables
sudo /sbin/service iptables restart
ssh -L 5901:localhost:5901 -l foo 192.168.x.x
将Red Hat Enterprise Linux AS 5 DVD安装盘放入DVD光驱,执行下列命令进行安装:
- # mkdir -p /mnt/cdrom
- # mount -t auto /dev/cdrom /mnt/cdrom
- # cd /mnt/cdrom/Server
- # rpm -ivh rpm -ivh vnc-server-4.1.2-9.el5.i386.rpm
- # rpm -ivh vnc-4.1.2-9.el5.i386.rpm
2. 配置Linux下的VNC Server ①. VNC的运行机制介绍: 在配置VNC前,必须了解VNC的运行机制。Linux下的VNC可以同时启动多个vncserver,各个vncserver之间用显示编号(display number)来区分,每个vncserver服务监听3个端口,它们分别是: 5800+显示编号: VNC的httpd监听端口,如果VNC客户端为IE,Firefox等非vncviewer时必须开放。 5900+显示编号: VNC服务端与客户端通信的真正端口,必须无条件开放。 6000+显示编号: X监听端口,可选。 显示编号、开放的端口分别由/etc/sysconfig/vncservers文件中的VNCSERVERS和VNCSERVERARGS控制。VNCSERVERS的设置方式为“VNCSERVERS="显示编号1:用户名1 …"”,如:VNCSERVERS="1:root 2:aiezu"。VNCSERVERARGS的设置方式为VNCSERVERARGS[显示编号1]="参数一 参数值一 参数二 参数值二 ……",如VNCSERVERARGS[2]="-geometry 800x600 -nohttpd",VNCSERVERARGS的详细参数有:
-geometry | 桌面分辨率,默认1024x768; |
-nohttpd | 不监听HTTP端口(58xx端口); |
-nolisten tcp | 不监听X端口(60xx端口); |
-localhost | 只允许从本机访问; |
-AlwaysShared | 默认只同时允许一个vncviewer连接,此参数允许同时连多个vncviewer; |
-SecurityTypes None | 登录不需要密码认证VncAuth默认值,要密码认证。 |
②. 修改/etc/sysconfig/vncserver文件: 熟悉Linux下VNC的运行机制后,开始正式配置VNC Server。vi /etc/sysconfig/vncserver,添加如下三行:
- VNCSERVERS="1:root 3:aiezu"
- VNCSERVERARGS[1]="-geometry 800x600 -nolisten tcp"
- VNCSERVERARGS[3]="-geometry 1024x768 -nolisten tcp"
本例我们开启两个vncserver,分别是root用户,显示编号为1和用户aiezu,显示编号为3,并且全不开启X监听端口60xx。
③. 设置VNC用户密码: 接下来设置VNC的密码,此步骤不可跳过,否则VNC Server将无法启动,在Linux Shell下执行下列命令:
- # su - aiezu
- # vncpasswd
- Password:
- Verify:
- # su - root
- # vncpasswd
- Password:
- Verify:
- service vncserver start //启动vncserver
运行上面命令后,会在用户根目录($HOME)下的".vnc"文件夹下生成一系列文件。其中passwd为vnc用户密码文件,由vncpasswd生成。其他的都由vnc初次启动时生成,xstartup为VNC客户端连接时启动的脚本。
④. 修改".vnc/xstartup"文件: 执行到上面步骤后,VNC Server已经能正常运行。但是默认设置下,客户连接时启动的是xterm,我们如果想看到桌面,必须将用户根目录下的".vnc/xstartup"文件中的最后两行注释掉,然后根据你安装的桌面坏境,添加一行"startkde &"或者"gnome-session &"。如下:
- #!/bin/sh
- # Uncomment the following two lines for normal desktop:
- # unset SESSION_MANAGER
- # exec /etc/X11/xinit/xinitrc
- [ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
- [ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
- xsetroot -solid grey
- vncconfig -iconic &
- #xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
- #twm &
- startkde &
- # gnome-session &
配置完各个用户根目录下的".vnc/xstartup"后,执行service vncserver restart 重新启动vncserver使配置生效。
⑤. 配置防火墙:
如果Linux启用了防火墙,必须允许VNC的相关端口(58xx,59xx,60xx)。具体的端口,请参照第2大步骤的①小步骤的VNC运行机制介绍,本例开启5801,5803,5901,5903端口就可以。在Linux命令提示符下输入"system-config-securitylevel-tui"启动防火墙配置工具,点"Customize",在"Other Port"中输入"5801:tcp 5803:tcp 5901:tcp 5903:tcp",然后点"OK"既可。