SSH 端口转发配置
SSH开启端口转发需要修改 /etc/ssh/sshd_config配置文件,将 GatewayPorts修改为yes
参数解释:
-f 后台执行ssh指令
-C 允许压缩数据
-N 不执行远程指令
-R 将远程主机(服务器)的某个端口转发到本地端指定机器的指定端口
-L 本地端口转发
-D 动态端口转发
简版:本地端口转发(相当于正向代理),本地监听16379端口,将16379端口的流量都转发给6379端口
1 | ssh -fCNL *:16379:localhost:6379 localhost |
SSH做反向隧道(远程端口转发)实例
- server的配置
1 | # 将Server的22号端口的流量都转发给跳板机2的5555端口 |
- 跳板机2的配置
1 | ssh -fCNR 跳板机1:5555:localhost:8888 root@跳板机1 |
- 跳板机1的配置
1 | # 正向代理 |
PC1上
1 | ssh -p 1234 root@跳板机1 |
最终连接到了server的22端口上
缺点:这种ssh反向链接会因为超时而关闭,如果关闭了那从外网连通内网的通道就无法维持。
解决方法:使用 autossh来连接。
反向代理
1 | autossh -M 9999 ssh -fCNR 跳板机1:5555:localhost:22 localhost |
-M 参数,用来监听ssh的状态,如果端口之后,从9999端口发送信息,进而进行重新连接。