SSH 远程端口转发

May 15, 2018

ssh -L 9001:host2:22 host3

-L local-host 本地的 9001 通过 host3 主机 转发到 host2 22端口

主要用于做跳板机

ssh -R 2121:host2:21 host3

远程的 host3 的 2121 端口,转发到 host2 的 21 端口

主要用于内网穿透

ssh -D 8080 user@host

加密连接,socker-5 代理

防断


为防止过期断开,对 server 的两个参数,进行设置:

  1. #ClientAliveInterval 0

    心跳周期

  2. #ClientAliveCountMax 3

    丢失心跳最大次数

其他参数说明 - 来源


-f 要求 ssh在执行命令前退至后台.它用于当ssh准备询问口令或密语,但是用户希望它在后台进行.该选项隐含了-n选项.在远端机器上启动

-N 不执行远程命令.用于转发端口.

-C 要求进行数据压缩 (包括stdin, stdout, stderr以及转发X11和TCP/IP连接 的数据).压缩算法和gzip(1)的一样,协议第一版中,压缩级别 “level” 用CompressionLevel选项控制.压缩技术在modem线路或其他慢速连接上很有用,但是在高速网络上反而 可能降低速度.可以在配置文件中对每个主机单独设定这个参数.

-g 允许远端主机连接本地转发的端口

-q 安静模式.消除所有的警告和诊断信息

-T 禁止分配伪终端

-n 把 stdin重定向到/dev/null (实际上防止从stdin读取数据). ssh在后台运行时一定会用到这个选项.它的常用技巧是远程运行X11程序.

注意:ss -nptl 如果查看监听绑定的IP端口,127.0.0.1:5022,需要配置 host3 的 /etc/ssh/sshd_config 的参数 GateWayPort=yes , 然后重启 systemctl restart sshd (完)