1.首先我们来看看vnc的安装与建立:
VNC服务端的安装:
[root@server10 ~]# netstat -antlp | gerp vnc 这里我们可以查看vnc所占用的端口5901
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.1:5901 0.0.0.0:* LISTEN 5806/Xvnc
它的图形窗口启动脚本路径:/root/.vnc/xstartup (在这里我们也可以对其进行修改)
接下来我们安装客户端:
[root@server10 ~]yum install tigervnc -y
注意:下来我们去通过IP连接服务端,首先服务端必须关闭火墙策略
点击(此处)折叠或打开
- # VNCSERVERS="2:myusername"
- # VNCSERVERARGS[2]="-geometry 800x600 -nolisten tcp -localhost"
- VNCSERVERS="1:root"
- VNCSERVERARGS[1]="-geometry 1075x685 -nolisten tcp -localhost -AlwaysShared"
VNCSERVERARGS基本参数有:
-geometry 桌面大小,缺省是1024x768
-nohttpd 不监听HTTP端口
-nolisten tcp 不监听X端口
-localhost 只允许从本机访问,这是为了提高服务端的安全性,如果我们不加这个参数任何用户都可以通过不走加密隧道直接连接进来。
-AlwaysShared 默认的, 同时只能有一个vncviewer连接(跟服务端配置也有关), 一旦第2个连上去, 第1个就被断开了. 此参数允许同时连多个vncviewer
-SecurityTypes None登录不需要密码认证 VncAuth默认值,要密码认证
设置完成后需要重启服务。
接下来客户端在连接的时候就不用加那么多的参数了,默认已经设置。
关闭vnc的端口:#vncsever -kill:1
3.vnc通过ssh加密连接:
A机器:192.168.0.85
B机器:192.168.0.10
C机器:192.168.0.254
我们是想通过A机器做ssh加密,然后将加密后的公钥发放给B机器,将私钥发放给C机器,然后通过C机器去连接B机器的VNC,这样就实现了VNC的加密连接。
1).首先建立ssh加密
[root@server85 .ssh]#ssh-keygen
2).将公钥传给有vnc服务的主机
[root@server85 .ssh]#ssh-copy-id -i id_rsa.pub 192.168.0.10
3).将私钥发放给客户端254
[root@server85 .ssh]#scp id_rsa root@192.168.0.254:/home/root/.ssh
4).接下来我们就可以去254这台主机的客户端连接含有vnc服务端(192.168.0.10)了
[root@server254 .ssh]#vncviewer -via root@192.168.0.10 127.0.0.1:1
这样就实现了vnc通过ssh加密隧道进入后,再走本地vnc连接。