Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2295978
  • 博文数量: 168
  • 博客积分: 6641
  • 博客等级: 准将
  • 技术积分: 1996
  • 用 户 组: 普通用户
  • 注册时间: 2007-06-02 11:49
文章存档

2020年(4)

2019年(6)

2017年(1)

2016年(3)

2015年(3)

2014年(8)

2013年(2)

2012年(12)

2011年(19)

2010年(10)

2009年(3)

2008年(17)

2007年(80)

分类: LINUX

2007-06-07 13:45:20

SSH转发及安全隧道的简单实现
 
2007-06-07 kenthy#qingdaonews.com
 
############################################
系统环境:Redhat Linux 9.0 [ 2.4.20.8 ]
软件版本:
 openssh-3.5p1-6
 openssh-server-3.5p1-6
 openssh-askpass-3.5p1-6
 openssh-clients-3.5p1-6
 openssh-askpass-gnome-3.5p1-6
 
目标功能:
 1、本地转发:在B机上对A机上的pop3服务通信进行加密
  Server A:
   192.168.1.1/24
   用户:jerry
  Server B:
   192.168.1.2/24
   用户: mikky
     不使用加密[直接访问]: telnet 192.168.1.1 110
     经安全传输[加密访问]: telnet 192.168.1.2 1234
 
 2、安全隧道:跨越Internet连接两个内网主机,此例中要求实现C机能访问A机的网站服务
  网络拓扑: Client A ---> |Gateway|--->===Internet===--->Server B<---===Internet===<---[Gateway]<---[Client C]
  Client A:
   192.168.10.10 /24
   开启httpd服务
  Server B:
   20.0.0.1/24
  Client C:
   192.168.20.20/24
  环境说明:
   A、C分别为两个异地内部网络的主机;
   B为具有公网地址的主机;
   A、C均能正常使用B主机的sshd服务
   A、C无法直接互相访问[因为是私网地址]
############################################################
一、安装
  各机器上ssh服务端/客户端软件包都安装。各软件均使用RH9光盘中自带的rpm包,[步骤略]
 
二、本地转发

 1、Server A //配置及启用pop3、sshd服务,开放用户jerry,详细步骤略

 2、Server B
     # su - mikky
     $ ssh -fg -L 1234:localhost:110 sleep 86400
   [注:]
  1> 以上语句将在B机本地打开1234端口,并将访问本地1100端口的数据转发至A机的110端口,期间的数据传输经ssh加密
  2> -f 和 sleep 86400的作用:ssh验证成功后转入后台,监听24小时后自动退出,若需要长期提供服务,可修改时间
  3> -g 的作用:指对全局global有效,允许其它主机访问本机1234端口。即监听0.0.0.0:1234,不加-g时仅监听127.0.0.1:1234
  2> 若要在B机开放1024以下端口,需要具有B机本地root权限

 3、结果测试
  访问B机 192.168.1.2的1234端口即可使用A机 192.168.1.1的pop3服务,使用pop3收信用户密码验证
     # telnet 192.168.1.2 1234
 
三、安全隧道

    方案1:
 在A机上设置B->A远程转发,在C机上设置C->B本地转发即可
 B机需开启sshd服务,开放用户tom、jerry
 基本步骤:
     1、Client A  //配置及启用httpd,默认80端口,详细步骤略
  # ssh -fg -R 7777:localhost:80 sleep 7200  //将对远程B机7777端口的访问转发至本机80端口
 
     2、Client C
  # ssh -fg -L 8000:localhost:7777 sleep 7200 //将对本机8000端口的访问转发至远程B机的7777端

     3、Server B  //配置及启用sshd,详细步骤略
 
     4、结果测试
  在C机上访问本机 ,即可访问到A机 的web服务
 
    方案2: [仅作参考,若A、B、C均为公网IP地址方可使用,可以B机主导设置作为中间跳板]
 在B机上设置C->B远程转发,再设置B->A本地转发即可
 A、C机上需开启sshd服务,分别开放用户为aimy、coco
 基本步骤:
     1、Client A、C //详细步骤略
 
     2、Server B
  # chkconfig --level 2345 sshd on
  # /etc/init.d/sshd start
  # ssh -fg -R 8000:localhost:7777 sleep 7200
  # ssh -fg -L 7777:localhost:80 sleep 7200
  # netstat -an | grep 7777
 
     3、结果测试
  在C机上访问,即可访问到的web服务
 
阅读(1921) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~