Linux下VNC配置使用总结:开启+桌面配置+安全访问

操作环境:CentOS 5.3 + Windows XP SP3 32bit + RealVNC 4.1.2 i386 + TigerVNC.

参考:潇湘隐者-Linux系统VNC配置实践总结,萨米的博客-VNC配置孤叶风铃-Linux 开启VNCSERVER远程桌面设置:利用putty进行vnc + ssh tunneling

VNC是基于RFB(Remote FrameBuffer)的一款开源的远程桌面控制软件。目前,原来的AT&T版本已经不再使用,因为更多有重大改善的分支版本已经出现,像是RealVNC,VNC tight 和UltraVNC。Real VNC 是当前最活跃和强大的主流应用。

一、安装VNC Server

CentOS 5.3默认已经安装vnc与vnc-server,对应的是realvnc的4.1.2版本。

对于没有安装vnc的Linux系统可以:

1、yum安装,CentOS 5.3 yum源自带了vnc与vnc-server;

 [[email protected] ~]# yum install vnc

 [[email protected] ~]# yum install vnc-server

2、可以从realvnc官网下载,解压归档后得到两个rpm包,安装vnc-server即可。

二、配置VNC Server

VNC Server的配置文件为 /etc/sysconfig/vncservers,在文件末尾添加以下两句:

VNCSERVERS="2:hubery"VNCSERVERS="2:hubery"VNCSERVERARGS[2]="-geometry 800x600 -nolisten tcp -nohttpd -localhost"#桌面分辨率为800*600 ,阻止图形桌面通过TCP端口 ,不能通过WEB访问vncserver,不能通过不安全的方式从远程登录。

关于参数配置说明:

1:-geometry 表示桌面分辨率,默认为1024x768。

2:-nohttpd  表示不监听HTTP端口(58xx)。

3:-nolisten tcp 表示不监听TCP端口(60xx)

4:-localhost 只运行从本机访问。

5:AlwaysShared 默认只允许一个VNCVIEWER连接,此参数表示同一个显示端口允许多用户同时登录.

6:-depth  表示色深,参数有8,16,24,32.

7: SecurityTypes None 登录不需要密码认证VncAuth默认值,要密码认证。

由于root用户使用的是第一个VNC Server,我们添加Server是从2开始的,所以这里桌面号是2,用户是hubery。

VNC使用的起始端口是5900和5800,桌面号是2时,VNC Viewer访问的端口是5902,WEB方式(java)访问的端口号是5802。

root用户的配置也是这个文件,若要配置需要在文件末尾同样加上类似以上两句。

三、防火墙配置

如果不熟悉防火墙iptables,可以直接关掉(重启失效):

[[email protected] ~]# iptables -L

[[email protected] ~]# service iptables stop

但一般不建议这样做,我们需要在防火墙里打开某些端口:

[[email protected] ~]# iptables -I INPUT -p tcp --dport 5901:5902 -J ACCEPT
[[email protected] ~]# iptables -I INPUT -p udp --dport 5901:5902 -J ACCEPT

同样,上述操作在计算机重启之后也会失效,以下操作将配置保存到配置文件,使其永久生效:

[[email protected] ~]# service iptables save

四、启动VNC Server

在启动Server之前需要给远程控制设置一个访问密码:

[[email protected] ~]# su hubery
[[email protected] root]$ vncpasswd
Password:
Verify:
[[email protected] root]$ vncserver :2
xauth:  creating new authority file /home/hubery/.Xauthority

New ‘localhost:2 (hubery)‘ desktop is localhost:2

Creating default startup script /home/hubery/.vnc/xstartup
Starting applications specified in /home/hubery/.vnc/xstartup
Log file is /home/hubery/.vnc/localhost:2.log

[[email protected] root]$

五、VNC Viewer访问

我的VNC客户端是在Win XP下安装的TigerVNC Viwer,可以从其官网免费下载。安装VNC Viewer后以 Server_IP:桌面号 的形式访问。

六、桌面配置(可选)

以上配置登陆之后得到的是twm桌面,看起来像一个终端,但它还是桌面,我们可以从命令行启动桌面应用,例如firefox,但是一般人是用不习惯、不会去用它的,可以换其它的桌面吗?当然可以,其配置文件为(用户根目录下)~/.vnc/xstartup,将twm修改为gnome-session或startkde即可切换成gnome或kde。

#!/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 &

切换之后重启服务是必须的:

[[email protected] .vnc]# service vncserver restart

[[email protected] .vnc]# su hubery
[[email protected] .vnc]$ vncserver -kill :2
Killing Xvnc process ID 20353
[[email protected] .vnc]$ vncserver :2

New ‘localhost:2 (hubery)‘ desktop is localhost:2

Starting applications specified in /home/hubery/.vnc/xstartup
Log file is /home/hubery/.vnc/localhost:2.log

[[email protected] .vnc]$

使用Viewer重新登陆,你会发现我们熟悉的桌面又回来了:

七、安全访问VNC(可选)

如果直接使用vncviewer来进行访问,有两点不利因素:
1. 口令传输是明文,很容易被侦听到.
2. 防火墙需要打开59xx端口,这在通常的单位里是不可能的.

幸运的是,我们有ssh这个强大的工具,象X11 Forwarding(另文论述),我们可以使用ssh隧道来保护通讯过程,下面就进行简单介绍.

我依然使用Win XP下的Tiger VNC做客户端,其实对于Linux下也是可以的(更简单)。

1、在Session下配置Host Name为Server IP,Port为SSH端口22;

2、在Connection-》SSH-》Tunnels配置Source port为VNC Server端口号5902,Destination为localhost:5902,并Add添加;

3、使用TigerVNC Viewer访问,地址现在是localhost:2。

至此,我们使用了加密的VNC,而且也不需要配置防火墙打开端口,也就是说使用ssh隧道在没有步骤三的情况下也是有效的。

时间: 2024-08-06 23:07:31

Linux下VNC配置使用总结:开启+桌面配置+安全访问的相关文章

Linux下VNC配置多个桌面和修改密码 不会当系统重启vnc失效

1:vncserver 2:iptables -I INPUT -p tcp --dport 5901 -j ACCEPT   客户端方式 3:iptables -I INPUT -p tcp --dport 5801 -j ACCEPT   浏览器方式 4:vi /root/.vnc/xstartup   注释掉最后一行 #twm &  末行添加:gnome-session & 5:vncserver :1 配置多个桌面 Linux下VNC配置多个桌面和修改密码 可以使用如下的方法启动多

linux 下 VNC Server安装配置及 eclipse CDT C/C++ 开发环境搭建(我用的是阿里云服务器 ubuntu 12.04 64-bit,无图形化界面)

linux 下 VNC Server安装配置及 eclipse CDT C/C++ 开发环境搭建(我用的是阿里云服务器 ubuntu 12.04 64-bit,无图形化界面): 既然要用 eclipse 可视环境下开发,那首先要安装图形界面喽!!! 对开发者来说,个人认为 linux 选择界面优先选择顺序:Awesome(性能最好) > Xfce4 > gnome > unity-2d //////////////////////////////////////////////// 首先

Linux下SVN server 的使用及权限配置

[Linux下SVN server 的使用及权限配置] 参考:http://www.cnblogs.com/heinoc/p/3805779.html

Linux下PHP+MySQL+CoreSeek中文检索引擎配置

说明: 操作系统:CentOS 5.X 服务器IP地址:192.168.21.127 Web环境:Nginx+PHP+MySQL 站点根目录:/usr/local/nginx/html 目的:安装coreseek中文检索引擎,配置MySQL数据库访问接口,使用PHP程序实现中文检索. CoreSeek官方网站: http://www.coreseek.cn/ http://www.coreseek.cn/products/=%22/products-install/step_by_step/ h

Linux下MyCat和MyCat_web的安装和配置

Linux下MyCat和MyCat_web的安装和配置 Mycat 是一个数据库分库分表中间件 Mycat web 可以对 Mycat进行监控,这里分享一下 Mycat web 的搭建过程 详细内容可以参考 官方文档 Tip: 当前的最新版本为 Mycat-web-1.0 启动顺序必须为:zookper->mycat->mycat_web,否则可能会出现问题 环境依赖 MySQL 修改配置文件my.cnf,必须要修改才能使用mycat lower_case_table_names = 1 JA

Linux下Apache2.2和PHP5的安装配置

Linux下Apache2.2和PHP5的安装配置 环境介绍 我安装使用的Linux版本为CentOS6.5最精简版,Apache为2.2.29,PHP版本为5.4.28. 系统安装 首先安装CentOS操作系统,由于是最小包,所以很多东西默认没有安装,装好需要做几点配置. 1.将系统的网卡打开,以便系统可以连接网络.(系统默认为关闭状态) 要修改的文件是:/etc/sysconfig/network-scripts/ifcfg-eth0 在这个文件中有:ONBOOT=no,将这个配置项改为ye

Debian Linux下如何以root账号登录桌面

I Debian Linux 方法有两种,一是图形界面方式设置,一是命令行设置: A. 图形界面方式: GNOME桌面下:打开“系统主菜单“,选择”系统>系统管理>登录窗口”,在弹出的窗口中点“安全”选项页,选择“允许本地管理员登录“,点确定即可.完成. B. 命令行方式:(未测试过,不推荐新手用)# grep 'AllowRoot' /etc/kde3/kdm/kdmrc AllowRootLogin=true # grep 'AllowRoot' /etc/gdm/gdm.conf All

Linux下的LVM和磁盘配额的配置和管理

Linux下的LVM和磁盘配额的配置和管理   一:实验目标 LVM日常管理 LVM快照 磁盘配额 二:实验概念 概念(名词):最小存储单位为:PE PV Physical Volume(物理卷) VG Volume Group(卷组) LV Logical Volume(逻辑卷) 总结: 名称      最小存储单位   cre硬盘      扇区(512字节)  文件系统  block(1K或4K ) raid     chunk (512K)  mdadm -c   LVM      PE

Linux下Hadoop 2.2.0 集群配置攻略

Hadoop 2.2.0 集群配置攻略 用户输入标识: chmod +x jdk-7u45-linux-x64.rpm  为黑色带底纹 系统输出标识: java version "1.7.0_51" 为绿色小字 2014年3月20-日 by lilihao Q 404536204 1. 安装sun jdk (1). 到Oracle的官方网站下载jdk,目前最新版本是7u51 安装包: http://www.oracle.com/technetwork/java/javase/downl

Linux下,Tomcat启动成功,发现ip:8080访问失败

Linux下,Tomcat启动成功,发现ip:8080访问失败 Chasel_H 2018.04.23 20:47* 字数 195 阅读 566评论 0喜欢 3 相信很多人都和我一样,在Linux环境下安装Tomcat并成功启动却没法通过ip:8080却没有访问成功,其实原因是因为Linux防火墙默认是关闭的. 若想成功访问,有两种方法:一是关闭防火墙,另外就是让防火墙开放这个端口. (1)关闭防火墙: 在终端执行  service iptables stop  命令 ,但我们不推荐使用此方式