Press "Enter" to skip to content

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

1, local port forwarding

ssh client端:
ssh server端: serverIP:80

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

ssh -L 8000:serverIP:80 [email protected]

然后就可以在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 [email protected]

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

2, remote port forwarding

ssh client端: clientIP:80
ssh server端:

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

ssh -R 8000:localhost:80 [email protected]

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

提示:
此时server端不止是127.0.0.1:80可访问, serverIP:80也可访问.
任何能访问serverIP:80的用户, 都可以通过访问serverIP:80达到访问client端8000端口的目的.
同样的, localhost:80不一定得是ssh client本身, 也可以是任何一个ssh client可达的地址.

下面是一个例子

发表评论

您的电子邮箱地址不会被公开。