SSH端口转发实现代理服务器

端口转发介绍

         SSH为建立在应用层和传输层基础上的安全协议,常用端口为22。本文主要介绍其端口转发功能。顾名思义,就是监听指定端口,把监听到的信息通过ssh协议通道(22端口和ssh server)转发到remote target host 指定端口。其中ssh server就是中转服务器(代理服务器)。

 

端口转发必备条件

中转服务器连通性:客户端主机能ssh登陆到中间主机;中间主机与目标应用无防火墙限制。当然中转服务器可以是多台(问题2就是两台中转服务器)。

 

 

端口转发方式方法

1.方式

本地端口转发:client能ssh到server时,可使用,属于正向ssh。

远程端口转发:server能ssh到client时,可使用,属于逆向ssh。

某些条件限制下就只能用一种端口转发方式了。

2. 方法

assh命令行(linux主机或仿真器运行)

本地端口转发:

                  ssh -L <local port>:<remote host>:<remote port> <SSH hostname> 

远程端口转发:

                  ssh -R <local port>:<remote host>:<remote port> <SSH hostname> 

bSecureCRT工具端口转发功能(主要介绍)

c:利用orion-ssh2-214.jarjava编码模拟端口转发和基于ssh协议的功能(后面介绍)


 

SecureCRT工具端口转发功能实例一:本机访问受防火墙限制的数据库服务器

1.       中转服务器:10.10.222.333

2.       目的主机:11.11.222.444

3.       实现本机登陆

 

步骤一:快速新建连接 > ssh10.10.222.333

SecureCRT>quick connect>

 

步骤二:端口转发设置

1.标签右键>session options>Port Forwarding(本地端口转发)

2.新增端口转发

             点击add,新增一个本地端口转发。设置参数后保存。

 

步骤三:重新组装数据库连接串

真实连接串:(DESCRIPTION =(ADDRESS = (PROTOCOL = tcp)(HOST = 11.11.222.444)(PORT=1542))(connect_data=(sid=test-db)))

端口转发连接串:(DESCRIPTION =(ADDRESS = (PROTOCOL = tcp)(HOST = 127.0.0.1)(PORT=1542))(connect_data=(sid=test-db)))

(DESCRIPTION =(ADDRESS = (PROTOCOL = tcp)(HOST = localhost)(PORT=1542))(connect_data=(sid=test-db)))

 

注:端口转发连接串中端口不一定与真实连接串中端口相等。

 

步骤四:本机登陆test db

        pl/sql客户端,用步骤三端口转发连接串,登陆成功。前提是SecureCRT connect要处于连接状态(即步骤一要一直连接着)

 


 

利用orion-ssh2-214.jarjava编码模拟端口转发

 

Connection conn = new Connection("10.10.222.333");

//  建立连接

           conn.connect();

//ssh登陆

           boolean isAuthenticated = conn.authenticateWithPassword(username,password);

           if (isAuthenticated == false)

              thrownew IOException("Authentication failed.");

//localhost:12345 端口转发到11.11.222.444:22端口

           LocalPortForwarder lpfd = conn.createLocalPortForwarder(12345, "11.11.222.444", 22) ;

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值