Linux进阶07:Linux远程桌面配置

Linux的操作有时候需要界面环境,远程桌面是即保证远程登录,又保证界面操作的解决方案。本文介绍CentOS6.5环境下远程桌面的配置与使用。客户端运行在Windows中。

VNCServer安装

CentOS6.5的VNCServer是TigerVNCServer,安装方式如下。
a. yum安装

1
# yum install tigervnc-server

b. rpm安装
从CentOS6.5的安装iso光盘文件中,在Packages\文件夹下,复制tigervnc-server-1.1.0-5.el6_4.1.x86_64.rpm到服务端。运行如下命令。

1
# rpm -ivh tigervnc-server-1.1.0-5.el6_4.1.x86_64.rpm

VNCServer使用

VNCServer的使用,首先设置密码,再通过单独运行或配置服务运行,最后注意配置防火墙。

设置密码

本地用户运行如下命令,设置远程登录的初始密码。

1
2
3
$ vncpasswd
Password:
Verify:

单独运行

1
2
3
4
5
6
7
$ vncserver -geometry 1280x800

New 'CentOS:1 (learnit)' desktop is CentOS:1

Creating default startup script /home/learnit/.vnc/xstartup
Starting applications specified in /home/learnit/.vnc/xstartup
Log file is /home/learnit/.vnc/CentOS:1.log

其中参数-geometry 1280x800可选,表示VNC客户端的显示分辨率。:1表示远程桌面1。
注意:分辨率的乘号是字母x,而不是星号*

可以运行如下命令终止:1的远程桌面。

1
2
$ vncserver -kill :1
Killing Xvnc process ID 3101

配置服务

root用户下,修改/etc/sysconfig/vncservers文件如下。

1
2
3
VNCSERVERS="1:root 2:learnit"
VNCSERVERARGS[1]="-geometry 1280x800"
VNCSERVERARGS[2]="-geometry 1024x768"

其中:1表示用户root的远程桌面,:2表示用户learnit的远程桌面,VNCSERVERARGS[*]为其运行参数。
配置vncserver开机启动。

1
# chkconfig vncserver on

启动vncserver服务。

1
# service vncserver start

配置端口通过防火墙。

vncserver的端口号规则::1的端口号为5901:2的端口号为5902,以此类推。防火墙配置有两种方式:增加开放规则,或直接关闭防火墙。
a. 增加规则,开放端口。修改/etc/sysconfig/iptables文件如下。

1
2
3
4
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
# this is the new rule.
-A INPUT -p tcp -m state --state NEW -m tcp -m multiport --dports 5901:5902,6001:6002 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited

注意:新增规则,请在-j REJECT这一行之前添加,否则无效。
重启防火墙服务。

1
# service iptables restart

b. 关闭防火墙

1
2
# service iptables stop
# chkconfig iptables off

VNC客户端的使用

Windows客户端推荐使用RealVNC的VNC Viewer
a. 填写服务器地址和端口号,回车。端口号可以使用:2:5902
10.png
b. 提示此链接不加密,继续。
11.png
c. 输入连接密码,即vncpasswd设置的密码。
12.png
d. 运行成功。
13.png

使用SSH隧道加密

上一章的步骤b,客户端会提示此连接为非加密连接,不推荐在非安全局域网中使用。
解决方案有二:
a. vncserver的启动参数,添加-localhost参数,vnc客户端使用vncviewer -via username@ip localhost:1的方式进行连接,但RealVNC的Windows客户端不支持这些参数。
b. 通过SSH隧道的方式,加密客户端与服务端的连接,vnc客户端与本地隧道端口进行非加密通讯,从而保障连接的安全性。
14.png

PuTTY设置方法

PuTTY设置好远程登录的用户名和IP地址之后,选择Connection==>SSH==>Tunnels,在Add new forward port中,Source port是本地端口,填写5902,Destination是VNCServer的IP地址和端口号,填写192.168.80.6:5902。点击Add,添加。点击Open打开连接。
15.png

Cygwin设置方法

开启Cygwin,使用如下命令建立隧道。

1
2
$ ssh -L 5902:127.0.0.1:5902 -N -f learnit@192.168.80.6
learnit@192.168.80.6's password:

-L 5902:127.0.0.1:5902:远程服务器的5902端口,映射为本地127.0.0.15902端口。
-N:不运行远程命令,仅转发端口。
-f:后台运行ssh命令。

VNC客户端连接方法

VNC Viewer的连接服务器地址和端口号为localhost:5902或者127.0.0.1:2即可。

如果本文对你有所帮助,请小额赞助
~~ EOF ~~