ssh做端口转发

 问题

  • 主机1能访问外网,
  • 主机2 不能访问外网
  • 外部主机想要访问主机2

解决

在主机1和主机2之间建隧道。

在主机1上做本地端口转发。可以用ssh来做本地端口转发(转发到远端)。

方法:

在(本地)主机1上执行

ssh -C -f -N -g -L 10.0.8.3:18888:10.0.8.4:8888 [email protected]

                            -------------------  ------------------  ----------------------------

                            主机1(本地)  主机2(远程)主机2(远程)的用户和地址

-C:压缩数据传输。

-f :后台认证用户/密码,通常和-N连用,不用登录到远程主机。

-N :不执行脚本或命令,通常与-f连用。

-g :在-L/-R/-D参数中,允许远程主机连接到建立的转发的端口,如果不加这个参数,只允许本地主机建立连接。

-L 本地端口:目标IP:目标端口

ssh本地端口转发命令的「-L」旗标后可以填写四个参数,完整格式为:
ssh -L [收听接口:]收听端口:目标主机:目标端口 username@hostname
命令中方括号内的部分,即第一个参数可以不写;它的默认值一般是0.0.0.0
 

在外部主机上访问主机1即可

curl 43.138.23.x:18888/[your endpoint]

SSH的端口转发_weixin_30478619的博客-CSDN博客

猜你喜欢

转载自blog.csdn.net/weixin_39896629/article/details/132276621