ssh端口转发

ssh的端口转发在长时间不用的情况下,会忘记各参数的作用。在这里记一个简单了笔记帮助自己记忆。

端口转发按分三类:

  • 本地转发 (-L local-forward),把本地的流量转到远端的机器上,这里监听的是本地的端口,流量出口是远端。
  • 远程转发 (-R remote-forward),把远端的流量转发到本地(网络上),这里监听的是远端机器的端口,流量出口是本地(网络)
  • 动态转发 (-D dynamic-forward),通地socke5协议监听本地端口,代理到远端(网络)。流量出口是远端。动态体现在端口和地址是发起都决定的,与通道的建立无关。

发起ssh连接的机器,通常称为本地机器。提供sshd服务的机器通常称为远端机器。

同用格式

1
2
3
4
-L [bind_address:]port:host:hostport
-L [bind_address:]port:remote_socket
-L local_socket:host:hostport
-L local_socket:remote_socket
1
2
3
4
5
-R [bind_address:]port:host:hostport
-R [bind_address:]port:local_socket
-R remote_socket:host:hostport
-R remote_socket:local_socket
-R [bind_address:]port
1
-D [bind_address:]port

场景举例

机器A的启用sshd,机器B通过ssh客户端,能联通A的ssh服务。
因为防火墙的限制,AB之间,双向只放行ssh协议,其它端口不通

现A机器想连接B机器的8080端口。如何实现?

就是远程转发,
ssh -R 8080:127.0.0.1:8081 xx@ser

参考


ssh端口转发
https://blog.fengcl.com/2022/10/22/ssh-forward/
作者
frank
发布于
2022年10月22日
许可协议