SSH反向隧道 (内网穿透)

SSH反向隧道 (内网穿透)

  • 需要准备两台机器
  • A 机器为公网机器 (11.22.33.44) 相当于桥梁
  • B 机器为内网机器 (10.0.0.2) 需要穿透
构建隧道
  1. 需要在 A 机器上将sshd服务开启 GatewayPorts 的配置
    设置 /etc/ssh/sshd_config 配置文件中的 #GatewayPorts noGatewayPorts yes
    sed -i "/GatewayPorts/c GatewayPorts yes" /etc/ssh/sshd_config
    systemctl restart sshd
    
  2. 参数详解
    • -f 后台执行ssh指令
    • -C允许压缩数据
    • -N 不执行远程指令
    • -R 将远程主机(服务器)的某个端口转发到本地端指定机器的指定端口
    • -L 将本地机(客户机)的某个端口转发到远端指定机器的指定端口
    • -o ServerAliveInterval=300 ssh 客户端每300秒就给server发个心跳,以免链路被RST
  3. 建立A机器到B机器的反向代理,即使用ssh隧道功能将 A 机器上指定端口转发到 B 内网机器上
    ssh -fCNR 8222:10.0.0.2:22 root@11.22.33.44
    # OR
    ssh -fCNR 8222:10.0.0.2:22 root@11.22.33.44 -o ServerAliveInterval=300
    
  4. 建立B机器的正向代理,用来做转发,B 机器的8282端口为本地转发端口,负责和外网进行通信,并将数据转发到A机器的22端口,实现了可以从其他机器访问的功能
    ssh -fCNL 0.0.0.0:8282:11.22.33.44:22 root@11.22.33.44
    
issues
  1. 需要这个隧道能够一直保持连接状态,可以使用 autossh
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值