美文网首页
ssh-正向与反向代理

ssh-正向与反向代理

作者: tanoak | 来源:发表于2019-03-17 18:56 被阅读0次
    1. 常用参数
    2. 栗子
    3. 实战

    常用参数

    • -N 告诉SSH客户端,这个连接不需要执行任何命令。仅仅做端口转发
    • -C 表示压缩数据传输
    • -f 告诉SSH客户端在后台运行
    • -q Quiet mode. 安静模式,忽略一切对话和错误提示
    • -g:允许远程主机连接主机的转发端口
    • -L port:host:hostport 做本地映射端口(正向隧道,监听本地port)
      • 需要使用的本地端口号
      • 需要访问的目标机器IP地址(IP: 234.234.234.234)
      • 需要访问的目标机器端口(端口: 21)
    • -R。port:host:hostport 该参数的三个部分的含义分别(反向隧道,监听远程port)
      • 远程机器使用的端口(2222)
      • 需要映射的内部机器的IP地址(127.0.0.1)
      • 需要映射的内部机器的端口(22)
      • 栗子 -R X:Y:Z 就是把我们内部的Y机器的Z端口映射到远程机器的X端口上
    • -D port 指定一个本地机器 ``动态的 应用程序端口转发

    栗子

    ssh -N -f -L 2121:234.234.234.234:21 123.123.123.123
    ftp localhost:2121 # 现在访问本地2121端口,就能连接234.234.234.234的21端口了
    
    • 保持长时间连接

      ssh -R 2222:localhost:22 123.123.123.123 "vmstat 30"
      
    • SSH隧道建立SOCKS服务器

      ssh -N -f -D 1080 123.123.123 # 将端口绑定在127.0.0.1上
      ssh -N -f -D 0.0.0.0:1080 123.123.123.123 # 将端口绑定在0.0.0.0上
      
    • SSH 建立正向代理

      ssh -CfNg -L 6300:127.0.0.1:1521 oracle@172.16.1.164
      
    • SSH 建立反向代理

      ssh -CfNg -R 1521:127.0.0.1:6300 oracle@172.16.1.164
      

    实战

    有A,B,C 3台服务器;

    A,C有公网IP, B是某IDC的服务器无公网IP。

    A通过B连接C的80端口(A<=>B<=>C), 那么在B上执行如下命令即可:

    ssh -CfNg -L 6300:127.0.0.1:80 userc@C
    ssh -CfNg -R 80:127.0.0.1:6300 usera@A
    

    相关文章

      网友评论

          本文标题:ssh-正向与反向代理

          本文链接:https://www.haomeiwen.com/subject/gnzumqtx.html