SSH隧道(端口转发)使用

881 阅读1分钟

1.通过跳板机连接远程服务器

1.png

# ssh [用户名]@远程服务器 -J [用户名]@跳板机
ssh user@remoteHost -J jumpUser@jumpServer

2.本地转发

2.png

通过跳板机,将本地18080端口的流量转发到应用服务器8080端口。这样就可以使用本地18080端口来访问远程8080。

# -N 不执行远程命令,仅开启转发
# -L 本地转发 [本地Host:]本地端口:远程Host:远程端口
ssh -NL 18080:webServerHost:8080 user@remoteHost -J jumpUser@jumpServer

3.远程转发

3.png

将应用服务器8080端口的流量转发到本地18080端口

# -N 不执行远程命令,仅开启转发
# -R 远程转发 [远程Host:]远程端口:本地Host:本地端口
ssh -NR 8080:localhost:18080 user@remoteHost

如果填写了远程Host,会限制只允许这个Host访问remoteHost的8080端口 例如,以下只允许来自someIP的访问

ssh -NR someIP:8080:localhost:18080 user@remoteHost

由于默认情况下远程转发会受到限制,需要手动修改sshd_config的配置来使其生效