ssh端口转发-记录

发布于:2024-05-11 ⋅ 阅读:(101) ⋅ 点赞:(0)

1、本地转发


基本命令:

ssh -L local_port:target_ip:target_port username@tunnel_host_ip -N -f -p tunnel_host_port

参数说明:

  • -L:转发本地端口。
  • -N:不发送任何命令,只用来建立连接。没有这个参数,会在 SSH 服务器打开一个 Shell。
  • -f:将 SSH 连接放到后台。没有这个参数,暂时不用 SSH 连接时,终端会失去响应。
  • -p:代理主机tunnel_host_ip SSH登录的端口,一般是22。
  • tunnel_host_ip:代理(隧道)主机的ip。
  • username:SSH登录tunnel_host_ip 的用户名。
  • local_port:本地端口。
  • target_ip:要转发的目标主机ip。
  • target_port :要转发的目标主机端口。

实现作用:
        当本地pc上的程序访问本地的local_port端口时,相当于访问target_ip主机的target_port端口,这个转发是由tunnel_host_ip主机实现,这个ssh验证使用主机需要tunnel_host_ip、username和 -p登录的端口(当然还有密码)。要求,本地pc能直接访问tunnel_host_ip主机,并且tunnel_host_ip主机能直接访问target_ip主机。

2、远程转发


基本命令:

ssh -C -R remote_port:target_ip:target_port username@remote_host_ip -N -f -p remote_host_port

参数说明:

  • -C:传输数据压缩。
  • -R:远程端口转发。
  • -N:不发送任何命令,只用来建立连接。没有这个参数,会在 SSH 服务器打开一个 Shell。
  • -f:将 SSH 连接放到后台。没有这个参数,暂时不用 SSH 连接时,终端会失去响应。
  • -p:代理主机remote_host_ip SSH登录的端口,一般是22。
  • remote_host_ip:代理(隧道)主机的ip。
  • username:SSH登录tunnel_host_ip 的用户名。
  • remote_port:远程端口。
  • target_ip:要转发的目标主机ip。
  • target_port :要转发的目标主机端口。

实现作用:
        当程序访问remote_host_ip(外网) 的 remote_port 端口时,相当于访问target_ip(内网)主机的target_port端口,这个转发是由remote_host_ip(外网)主机与发起这个ssh请求的主机(内网主机)实现,这个ssh验证使用主机需要remote_host_ip、username和 -p登录的端口(当然还有密码)。要求,发起这个ssh请求的主机能直接访问remote_host_ip 主机,并且发起这个ssh请求的主机能直接访问target_ip主机。

参考

https://wangdoc.com/ssh/port-forwarding


网站公告

今日签到

点亮在社区的每一天
去签到