Chinaunix首页 | 论坛 | 博客
  • 博客访问: 783617
  • 博文数量: 108
  • 博客积分: 2887
  • 博客等级: 少校
  • 技术积分: 1570
  • 用 户 组: 普通用户
  • 注册时间: 2010-11-28 07:51
文章分类

全部博文(108)

文章存档

2012年(4)

2011年(86)

2010年(18)

分类: LINUX

2010-12-02 22:44:45

  现在的一些服务例如telnet,FTP需要通过tcp/ip协议来进行数据传输,由于受到协议本身的限制,这些服务的的传输往往都是明文的,造成了很大的安全隐患,而我们的OpwnSSH传输的数据却是经过加密的。现在我们学着使用openSSH的端口转发功能来实现这些服务的TCP/IP数据的加密和解密,让我们的数据传输更加的安全可靠。
下面以telnet为例
现在假设我们的主机为192.168.200.110,运行了telnet服务, 
客户机为192.168.200.111,也运行了telnet服务,
现在两机的防火墙已经处于关闭的状态,且可以用tenet从客户机连接到主机。

开始我们的转发之旅
打开一个终端,执行:
#ssh -L 2010:192.168.200.110:23 root@192.168.200.110
#以上的命令为通过root用户登录到192.168.200.110主机上去,
#-L表示转发,’2010:192.168.200.110:23‘表示将本地到2010端口的数据都通过SSH隧道转发到服务器主机192.168.200.110的23端口,因为23端口是telnet的默认端口号,在我们退出SSH之前,我们建立的这个管道一直有效,所以在我们用该隧道的期间千万不要关闭该隧道。

打开另外的一个终端,执行:
tennet 127.0.0.1 2010
不要有所怀疑,就是这个命令,表示和本机的2010端口进行连接,应为我们已经设置了SSH转发,所以,发送到本机2010端口的数据都会转发到192.168.200.110主机上去,而且是经过加密了的  ,不错吧??呵呵



上述的ssh -L 2010:192.168.200.110:23 命令可以在SSH的配置文件ssh_config 中加入LocalForward 2010:192.168.200.110:23   来实现   
SSH端口转发功能中还有一个-g选项,表示“允许除了本机以外的计算机使用转发功能”  
-g选项也可以通过在ssh_config 中加入 GatewayPorts yes(no) 来实现 



除此以外  我们还可以在服务器端进行远程转发功能,在服务器端上执行
ssh -R 2010:192.168.200.110:23 root@192.168.200.111
#表示将连接到远程主机(192.168.200.111)的2010端口的连接转发到本机的23端口。



好了 ,本次转发之旅到此结束。



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