【主机】vnc 介绍以及安装时注意的问题
发表于:2024-09-22 作者:千家信息网编辑
千家信息网最后更新 2024年09月22日,Linux下Vnc远程桌面Server配置教程http://www.aiezu.com/Article/Linux_Vnc_Server_conf.aspx用VNC实现远程桌面共享(支持Windows
千家信息网最后更新 2024年09月22日【主机】vnc 介绍以及安装时注意的问题Linux下Vnc远程桌面Server配置教程http://www.aiezu.com/Article/Linux_Vnc_Server_conf.aspx用VNC实现远程桌面共享(支持Windows, Linux,...)http://easwy.com/blog/archives/linux-remote-desktop-by-vnc/# [ 原理 ]# #--------------------------------------------VNC,全称为Virtual Network Computing,使用 RFB(Remote FrameBuffer,远程帧缓冲)协议来实现远程控制另外一台计算机。把键盘、鼠标动作发送到远程计算机,并把远程计算机的屏幕发回到本地VNC技术与平台无关,VNC Viewer可以和VNC Server在不同的操作系统上VNC几乎支持所有的操作系统,也支持Java,甚至可以通过支持Java的浏览器来访问VNC Server
多个 VNC 客户端可以同时连接到一个 VNC Server显示编号(display number)来区分,每个vncserver服务监听3个端口,分别是:
5800+显示编号: VNC的httpd监听端口,如果VNC客户端为IE,Firefox等非vncviewer时必须开放。5900+显示编号: VNC服务端与客户端通信的真正端口,必须无条件开放。6000+显示编号: X监听端口,可选。
首先需要配置 VNC 密码,密码在使用客户端连接服务器时使用注意:VNC 密码保存在用户的主目录中,每个用户都可以设置自己的密码因此,请使用你的用户名(尽量不要使用root)运行下列命令:
在启动VNC server时,需要为 server指定一个display参数可以把display理解为一个桌面,每个用户都可以有自己的桌面,在系统中,display号不能重复VNC server监听的端口从5801开始,display :1的监听5801,display :2监听5802,以此类推# # [ /etc/sysconfig/vncservers ]# {{{#--------------------------------------------显示编号、开放的端口分别由/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默认值,要密码认证。# vi /etc/sysconfig/vncserver VNCSERVERS="1:root 2:oracle" VNCSERVERARGS[1]="-geometry 1024x768 -nolisten tcp" VNCSERVERARGS[2]="-geometry 1024x768 -nolisten tcp" # # [ 设置用户登录密码 / 生成用户配置文件 ]# {{{#--------------------------------------------设置VNC用户密码:# XXX 此步不可跳过放在后面操作,否则VNC Server将无法启动# su - ink# vncpasswd Password:Verify:# su - root # vncpasswd Password: Verify: # [ 启动 vncserver ]#-------------------------------------------- # service vncserver start运行上面命令后,分别会在用户根目录($HOME)下的".vnc"文件夹下生成一系列文件其中passwd为vnc用户密码文件,由vncpasswd生成。xstartup为VNC客户端连接时启动的脚本启动VNC server的命令是:vncserver# vncserverNew 'localhost.localdomain:1 (root)' desktop is localhost.localdomain:1Starting applications specified in /root/.vnc/xstartupLog file is /root/.vnc/localhost.localdomain:1.log#
# [ 自定义 xstartup ]##--------------------------------------------
修改".vnc/xstartup"文件vncserver 默认使用的窗口管理器是 twm编辑这个文件:.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 gnome-session &
重启 vncserver 使配置生效
# }}}
# [ 配置防火墙 ]##--------------------------------------------必须允许VNC的相关端口(58xx,59xx,60xx)vi /etc/sysconfig/iptables-A RH-Firewall-1-INPUT -m state -state NEW -m tcp -p tcp -dport 5900:5903 -j ACCEPT允许其它机器访问本机的5900到5903端口,这样,display:1, display:2, display:3 用户就可以连接到本机我的是 -A RH-Firewall-1-INPUT -m state -state NEW -m tcp -p tcp -dport 5801:6003 -j ACCEPT安装vnc时,要检查一下iptables的设置,如果没有开放vnc端口的访问,是连接不上的,而且vnc客户端会提示 failed connection:操作成功完成!(0)这样的错误提示!#-------------------------------------------在windows下使用vncviewer+putty.exe通过ssh安全通道连接:打开putty,在左边的"Category"中依次点"Connection"->"SSH"->"Tunnels"在"Source Port"文本框中输入"5901","Destination"文本框中输入"localhost:5901"点击"Add,添加端口转发。然后在putty左边的"Category"下点"Session"输入服务器的IP地址后,点"Open"按钮,输入密码登陆后,既成功启用了端口转发接着在本机打开vncviewer输入"127.0.0.1:5901"即可成功连接到远程的5901端口在Linux下使用vncviewer+ssh安全通道连接:与④类似,在linux vnc客户端shell下运行"ssh -L 5901:localhost:5901 vncserverhost"命令输入用户名密码。即完成通过shh安全通道,将远程的5901端口转发到本机的5901端口然后在shell下运行"vncviewer 127.0.0.1:1"命令即可以连接到远程的VNC Server#
# #--------------------------------------------查看VNC正在运行的显示编号端口号?答:在Linux命令提示符下执行"netstat -tlup|grep vnc",即可以查看到端口号,端口号后两位即显示编号如何关闭指定的显示编号?答:vncserver -kill :number 即可以关闭指定的显示编号和对应的端口号在通过VNC连接的图形界面桌面启动X应用时出现:"Error: Can't open display: :0.0"错误?答:请使用"echo $DISPLAY"命令查看"DISPLAY"坏境变量是否设置为":显示编号:0",如:":1:0"如果不是此形式,启动X应用时会出现此错误。此时可以通过"export DISPLAY=:1:0"设置正确的DISPLAY还有一种可能就是切换了用户启动X应用,当前用户没有权限使用X窗口,这时返回到启用VNC的用户运行"xhost +"允许其他用户访问此X窗口即可# 如果配置完成后出现能够通过键盘输入数字,但是不能输入字符的情况,就要看看你的客户端的输入法的设置是否和服务器端的设置是否一致。一般两端都要是英文的!
多个 VNC 客户端可以同时连接到一个 VNC Server显示编号(display number)来区分,每个vncserver服务监听3个端口,分别是:
5800+显示编号: VNC的httpd监听端口,如果VNC客户端为IE,Firefox等非vncviewer时必须开放。5900+显示编号: VNC服务端与客户端通信的真正端口,必须无条件开放。6000+显示编号: X监听端口,可选。
首先需要配置 VNC 密码,密码在使用客户端连接服务器时使用注意:VNC 密码保存在用户的主目录中,每个用户都可以设置自己的密码因此,请使用你的用户名(尽量不要使用root)运行下列命令:
在启动VNC server时,需要为 server指定一个display参数可以把display理解为一个桌面,每个用户都可以有自己的桌面,在系统中,display号不能重复VNC server监听的端口从5801开始,display :1的监听5801,display :2监听5802,以此类推# # [ /etc/sysconfig/vncservers ]# {{{#--------------------------------------------显示编号、开放的端口分别由/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默认值,要密码认证。# vi /etc/sysconfig/vncserver VNCSERVERS="1:root 2:oracle" VNCSERVERARGS[1]="-geometry 1024x768 -nolisten tcp" VNCSERVERARGS[2]="-geometry 1024x768 -nolisten tcp" # # [ 设置用户登录密码 / 生成用户配置文件 ]# {{{#--------------------------------------------设置VNC用户密码:# XXX 此步不可跳过放在后面操作,否则VNC Server将无法启动# su - ink# vncpasswd Password:Verify:# su - root # vncpasswd Password: Verify: # [ 启动 vncserver ]#-------------------------------------------- # service vncserver start运行上面命令后,分别会在用户根目录($HOME)下的".vnc"文件夹下生成一系列文件其中passwd为vnc用户密码文件,由vncpasswd生成。xstartup为VNC客户端连接时启动的脚本启动VNC server的命令是:vncserver
# [ 自定义 xstartup ]##--------------------------------------------
修改".vnc/xstartup"文件vncserver 默认使用的窗口管理器是 twm编辑这个文件:.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 gnome-session &
重启 vncserver 使配置生效
# }}}
# [ 配置防火墙 ]##--------------------------------------------必须允许VNC的相关端口(58xx,59xx,60xx)vi /etc/sysconfig/iptables-A RH-Firewall-1-INPUT -m state -state NEW -m tcp -p tcp -dport 5900:5903 -j ACCEPT允许其它机器访问本机的5900到5903端口,这样,display:1, display:2, display:3 用户就可以连接到本机我的是 -A RH-Firewall-1-INPUT -m state -state NEW -m tcp -p tcp -dport 5801:6003 -j ACCEPT安装vnc时,要检查一下iptables的设置,如果没有开放vnc端口的访问,是连接不上的,而且vnc客户端会提示 failed connection:操作成功完成!(0)这样的错误提示!#-------------------------------------------在windows下使用vncviewer+putty.exe通过ssh安全通道连接:打开putty,在左边的"Category"中依次点"Connection"->"SSH"->"Tunnels"在"Source Port"文本框中输入"5901","Destination"文本框中输入"localhost:5901"点击"Add,添加端口转发。然后在putty左边的"Category"下点"Session"输入服务器的IP地址后,点"Open"按钮,输入密码登陆后,既成功启用了端口转发接着在本机打开vncviewer输入"127.0.0.1:5901"即可成功连接到远程的5901端口在Linux下使用vncviewer+ssh安全通道连接:与④类似,在linux vnc客户端shell下运行"ssh -L 5901:localhost:5901 vncserverhost"命令输入用户名密码。即完成通过shh安全通道,将远程的5901端口转发到本机的5901端口然后在shell下运行"vncviewer 127.0.0.1:1"命令即可以连接到远程的VNC Server#
# #--------------------------------------------查看VNC正在运行的显示编号端口号?答:在Linux命令提示符下执行"netstat -tlup|grep vnc",即可以查看到端口号,端口号后两位即显示编号如何关闭指定的显示编号?答:vncserver -kill :number 即可以关闭指定的显示编号和对应的端口号在通过VNC连接的图形界面桌面启动X应用时出现:"Error: Can't open display: :0.0"错误?答:请使用"echo $DISPLAY"命令查看"DISPLAY"坏境变量是否设置为":显示编号:0",如:":1:0"如果不是此形式,启动X应用时会出现此错误。此时可以通过"export DISPLAY=:1:0"设置正确的DISPLAY还有一种可能就是切换了用户启动X应用,当前用户没有权限使用X窗口,这时返回到启用VNC的用户运行"xhost +"允许其他用户访问此X窗口即可# 如果配置完成后出现能够通过键盘输入数字,但是不能输入字符的情况,就要看看你的客户端的输入法的设置是否和服务器端的设置是否一致。一般两端都要是英文的!
端口
用户
密码
输入
客户
监听
参数
命令
客户端
文件
桌面
运行
配置
本机
服务
口号
开放
支持
安全
成功
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
浅谈如何维护网络安全
兰州珠海软件开发公司
深圳建行网络安全宣传周
学软件开发的五年大专学费
battle数据库使用技巧
河北it软件开发需要多少钱
黑龙江服务器应用线束公司
网络安全股低估
学软件开发要多久6
阿里云服务器 显卡
网络安全好还是计算机视觉好
互联网科技知识竞赛题库
餐饮软件开发信息推荐
树形菜单数据库
软件开发人员品质
如何买到便宜好用的云服务器
服务器配置都有哪些
数据库配置spring
dell服务器二手怎么样
软件开发企业税点
域控服务器 组策略管理
网络安全防护特性
珙县租房软件开发
网络安全涉密涉敏隐患点
acfun服务器恢复时间
计算机网络技术的教学软件
合肥万户网络技术招聘
湛江数据链软件开发厂家直销
网络安全与执法人才培养目标
校园网访问学校服务器