• ssh端口转发(ssh隧道)


    本地端口映射到其他机器

     ssh -Nf -L 18080:18.16.200.110:8083 root@18.16.200.134 -p 22
     or
     ssh -Nf -L 18.16.202.21:18080:18.16.200.110:8083 root@18.16.200.134 -p 22
    
    • 目标机器为18.16.200.110,对外端口为8083
    • 跳板机为18.16.200.134,端口为22
    • 本地端口为18080

    使用上述命令,就可以监听本机的18080端口,并将命令转发到18.16.200.110机器的8083端口上。

    访问本机18080端口,就相当于访问18.16.200.1108083端口应用

    参数说明

    • -N 告诉SSH客户端,这个连接不需要执行任何命令。仅仅做端口转发

    • -f 告诉SSH客户端在后台运行

    • -L 做本地映射端口,被冒号分割的三个部分含义分别是最后一个参数是我们用来建立隧道的中间机器的IP地址(IP: 18.16.200.134)

    • 需要使用的本地端口号(端口: 18080)

      • 需要访问的目标机器IP地址(IP: 18.16.200.110
      • 需要访问的目标机器端口(端口:8083)

    案例

    • hostA映射到hostB

      ssh -L 18080:127.0.0.1:8083 root@18.16.200.110
      

      上述的127.0.0.1指的是18.16.200.110

      上述操作,会将本地18080端口的数据转发到18.16.200.1108083端口

    • 访问本地端口

      ssh -L 9999:18.16.200.110:22 root@18.16.200.134 -p 22
      

      这样访问本机的9999端口,就相当于访问了18.16.200.110:22

      ssh localhost -p 9999
      

    远程跳板机端口转发

    内网的机器A,公网的机器B,某服务器C
    A可以连接B,B可以连接C,但是AC之间不能连接
    这个时候如果B能运行一个OpenSSH服务器,那么就可以通过B形成隧道连接AC

    因为A是内网,所以不能使用C-B-A方案

    案例

    在跳板机18.16.200.134节点中执行:

    ssh -R 18080:18.16.200.110:8083 qhong@18.16.202.21
    

    使用上述命令,即可访问18.16.202.21:18080转发到18.16.200.110:8083端口

    参考

    超实用, ssh 端口转发实现网络穿透

    SSH原理与运用(二):远程操作与端口转发

    ssh端口转发:ssh隧道

    [SSH端口转发](

  • 相关阅读:
    质量属性分析之《淘宝网》
    每日总结(3.7)
    每日总结(3.6)
    读架构漫谈有感
    每日总结(3.5)
    每日总结(3.4)
    laravel 输出时间少了8小时
    laravel 循环添加新的数据之后如何排序
    php trait使用详解
    laravel Guzzle使用
  • 原文地址:https://www.cnblogs.com/hongdada/p/13697209.html
Copyright © 2020-2023  润新知