Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1828547
  • 博文数量: 286
  • 博客积分: 3713
  • 博客等级: 少校
  • 技术积分: 2275
  • 用 户 组: 普通用户
  • 注册时间: 2012-01-11 09:47
个人简介

http://blog.chinaunix.net/uid/16979052.html

文章分类

全部博文(286)

文章存档

2018年(1)

2017年(16)

2016年(9)

2015年(17)

2014年(15)

2013年(112)

2012年(116)

分类: 系统运维

2015-06-09 07:30:47

原文地址:VNC的建立与加密 作者:china_Linux_hy

        VNC 是在基于 Unix 和 Linux操作系统的免费的开源软件,远程连接能力强大,高效实用,其性能可以和 Windows MAC 中的任何远程控制软件媲美。 在 Linux 中,VNC 包括以下四个命令:vncserver,vncviewer,vncpasswd,和 vncconnect。大多数情况下用户只需要其中的两个命令:vncserver 和 vncviewer。

1.首先我们来看看vnc的安装与建立:
VNC服务端的安装:
[root@server10 ~]#yum install vnc-server -y
[root@server10 ~]#/etc/init.d/vncserver start
[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@server10 ~]#vncserver   (服务端口的建立)这里也可以指定端口:#vncserver :2
[root@server10 ~]#vncpasswd   (vnc密码的创建)
     它的密码文件路径:/root/.vnc/passwd
     它的图形窗口启动脚本路径:/root/.vnc/xstartup    (在这里我们也可以对其进行修改)
接下来我们安装客户端:
[root@server10 ~]yum install tigervnc -y
注意:下来我们去通过IP连接服务端,首先服务端必须关闭火墙策略
[root@server10 ~]#vncviewer -shared -viewonly 192.168.0.224:1  (VNC的连接)
若不加-shared我们就踢掉了正在连接的所有人,-viewonly这个参数如果不加,那么我们将可以在vnc客户端的图形界面里面做任意的操作
2.服务端的设置:
vim /etc/sysconfig/vncservers     (这是vnc的主配置文件)

点击(此处)折叠或打开

  1. # VNCSERVERS="2:myusername"
  2. # VNCSERVERARGS[2]="-geometry 800x600 -nolisten tcp -localhost"
  3. VNCSERVERS="1:root"
  4. 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连接。

阅读(6537) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~