LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1662|回复: 4

vnc系列一:用 ssh + vnc 工作。

[复制链接]
发表于 2003-5-3 22:25:09 | 显示全部楼层 |阅读模式
介绍
本文简要讲述了如何在不同的平台下通过  ssh 使用 vnc  来达到安全控制远程机器的目的。

可使用的软件:
windows   :
WinVNC  包括了服务端和客户端。
                      ssh 服务端 :SSHWinServer(免费)    或    Vshell (商业)
                      ssh 客户端: secureCRT(商业)  SSHWinClient(免费)  putty
linux         :
  vnc 服务端: vncserver
                      vnc 客户端: xvncviewer(debian)   vncviewer(redhat)
                      sshd ssh

一、服务器设置 VNC + ssh 服务
1、windows 下设置 VNC

    * 安装最新的 WinVNC (3.3.3r9 or later).  WinVNC  download page
     http://www.uk.research.att.com/vnc/download.html

    * run regedit, 找到HKEY_LOCAL_MACHINE\SOFTWARE\ORL\WinVNC3,   
     增加 DWORD value AllowLoopback 设置为1

    * 如果你希望 WinVNC  只允许安全连接,还要在   
     HKEY_LOCAL_MACHINE\SOFTWARE\ORL\WinVNC3 下
     增加一个 DWORD value LoopbackOnly ,并设置为 1

    * 如果原意,设置为系统服务:winvnc -install

    * 不用重启就开始服务:net start winvnc

     windows 下开 ssh 服务,略。

2、linux 下开 vnc  和 ssh 服务比较简单,不再多讲。

二、客户端的连接:
先确定服务器端正在运行 sshd 和 vnc 服务,然后转到客户机器(一般上和主机不是同一台):

1、 象这样打开 ssh client :
      ssh -L 590x:localhost:590y -l username servermachine

      这里 590x 是本机的监听端口,可以自己任意写。
      590y 是你要发送给服务器的端口号,一定要和服务器端的 vncserver 开的端口对应。

       例子 :ssh -L 5900:localhost:5901 -l quanliking 123.456.789.007

       解释: 和服务器 123.456.789.007 建立 ssh 连接,
                     -l quanliking : 用户 quanliking,
                     把本地端口 5901 送到 远程服务器(前提是服务端打开了5901),   
                     并在本地监听 5907 端口。

      这样就建立号了一条安全的 ssh 通道。
   
   2、 现在只要运行 VNC viewer,象下面这样

      vncviewer localhost:x  或 vncviewer localhost:590x
      x 是监听端口

      例如: vncviewer localhost:7

不要觉的奇怪,没错就是连 localhost ,能自动 forward 到远程服务器,类似端口影射。

注意:如果你使用的是 java 浏览器的方式,可能需要把 59 改成 58.


参考文章:
http://web.mit.edu/pismere/ssh/vnc-over-ssh.html(本文在此基础上修改,其中有错)
http://www.uk.research.att.com/vnc/sshvnc.html
http://groups.google.com/groups? ... .sol.net&rnum=2
发表于 2003-5-4 13:13:57 | 显示全部楼层
通过ssh实现信号加密,不错!!!
发表于 2003-5-4 13:16:01 | 显示全部楼层
实际上就是本地的端口可以任意选择了吧。这样我知道其他的服务的端口一样都可以用这样的方法实现加密传输娄。
 楼主| 发表于 2003-5-4 14:12:03 | 显示全部楼层
doooom 兄真是聪明,对,其它服务也可以通过这样的方式加密。
比如我想通过 ssh 来访问 ftp 服务器,方法如下:
1、ssh -L 20:localhost:21 -l root 123.456.789.xxx

2、打开 gftp ,输入 127.0.0.1 ,端口 20,  ftp的user名和密码

等待奇迹发生吧!
发表于 2003-5-5 01:35:15 | 显示全部楼层

本来翻过去了,因为太好,不顶不忍心

good post!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表