SSH代理设置

目标
从 C 机器使用 SSH 访问 A

描述:
C 外网设备
B 服务器局域网的出口设备
A 服务器局域网中的某台设备

解决方案
在 A 机器上做到 B 机器的反向代理;在 B 机器上做正向代理本地端口转发。
B机器开启两个接口:
<port_b1>:提供B->A的转发
<port_b2>:提供C->B的转发

机器号IP(举例)用户名说明解决方案解释
A (目标服务器)192.168.100.99usr_a目标服务器,在局域网中,可以访问 Assh -fCNR <port_b1>:localhost:22 usr_b@100.100.100.100<port_b1> 为 B 机器上端口,用来与 A 机器上的22端口绑定。
B(代理服务器)100.100.100.100usr_b代理服务器,在外网中,无法访问 Assh -fCNL ‘*:<port_b2>:localhost:<port_b1>’ localhost<port_b2> 为本地转发端口,用以和外网通信,并将数据转发到 <port_b1>,实现可以从其他机器访问。
C(外网设备)--可以直接访问 B,无法直接访问 Assh -p <port_b2> usra@100.100.100.100<port_b2>为B的对外接口

比如这里:
A-> ssh -CNR 9998:localhost:22 A@192.168.100.100
B-> ssh -CNL *:9999:localhost:9998 localhost
C-> ssh -p 9999 usr_a@192.168.100.100

三者形成C->B,A->B的SSH代理转发。后台运行使用-f,改为-fCNR或-fCNL。

示例一:
A-> ssh -CNR 9998:localhost:22 A@192.168.100.100
B-> ssh -CNL *:9999:localhost:9998 localhost
C-> ssh -p 9999 root@192.168.100.100

示例二:
A-> ssh -CNR 19998:localhost:22 A@192.168.100.100
B-> ssh -CNL *:19999:localhost:19998 localhost
C-> ssh -p 19999 root@192.168.100.100

SSH 参数解释解释
-f后台运行
-C允许压缩数据
-N不执行任何命令
-R将端口绑定到远程服务器,反向代理
-L将端口绑定到本地客户端,正向代理
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值