堕落不振功业废,勤耕不辍日月新

简单解释 ssh 中的 local port forwarding 和 remote port forwarding

综合 hailen 17℃

1, local port forwarding

ssh client端:
ssh server端: serverIP:80

如果希望在ssh client端访问ssh server端的80端口, 则可以运行

ssh -L 8000:serverIP:80 user@serverIP

然后就可以在client端通过访问127.0.0.1:8000达到访问server端80端口的目的

提示:
8000:serverIP:80这里的serverIP不一定要是server自己, 也可以是127.0.0.1, 或者是任何server端能够访问的远程地址.
然后就可以实现在ssh client端访问serverIP:80(即在client端访问127.0.0.1:8000)

下面是一个例子

如上图. 如果执行了

ssh -L 8000:10.10.1.11:80 user@192.168.56.102

那么, 访问192.168.56.101:8000则等同于访问了10.10.1.1:80

2, remote port forwarding

ssh client端: clientIP:8000
ssh server端:

如果希望在server端访问client端的8000端口

ssh -R 8000:localhost:80 user@serverip

然后就可以在ssh server端通过访问serverIP:80达到访问client端8000端口的目的.

提示:
此时server端不止是127.0.0.1:80可访问, serverIP:80也可访问.
任何能访问serverIP:80的用户, 都可以通过访问serverIP:80达到访问client端8000端口的目的.

例如

转载请注明:我是IT » 简单解释 ssh 中的 local port forwarding 和 remote port forwarding

喜欢 (0)or分享 (0)