SSH端口转发方式有哪些

SSH端口转发(SSH Port Forwarding)是一种通过SSH连接来建立本地端口与远程主机之间的安全通道,以便在本地和远程主机之间传输数据。这种技术常用于加密通信或访问受限的服务。

SSH端口转发有两种主要类型:本地端口转发(Local Port Forwarding)和远程端口转发(Remote Port Forwarding)。

图片[1]-SSH端口转发方式有哪些-不念博客

本地端口转发(Local Port Forwarding)

本地端口转发允许您将本地计算机上的一个端口(本地端口)转发到远程服务器上的另一个端口(目标端口)。这样,当您连接到远程服务器时,实际上访问的是本地计算机上的服务。

ssh -L <本地端口>:<目标主机>:<目标端口> <用户名>@<远程主机>
  • <本地端口>:您希望在本地计算机上打开的端口号。
  • <目标主机>:远程服务器上实际运行服务的主机名或IP地址。
  • <目标端口>:远程服务器上实际运行服务的端口号。
  • <用户名>:您在远程主机上的用户名。
  • <远程主机>:远程服务器的主机名或IP地址。

示例:

ssh -L 8080:localhost:80 user@remote.example.com

这个示例将本地计算机上的端口8080映射到远程服务器的端口80。当您访问 http://localhost:8080 时,实际上是访问了远程服务器上的 http://localhost:80

远程端口转发(Remote Port Forwarding)

远程端口转发允许您将远程服务器上的一个端口(远程端口)转发到本地计算机上的另一个端口(目标端口)。这样,当其他人连接到远程服务器时,实际上访问的是您本地计算机上的服务。

ssh -R <远程端口>:<目标主机>:<目标端口> <用户名>@<远程主机>
  • <远程端口>:您希望在远程服务器上打开的端口号。
  • <目标主机>:本地计算机上实际运行服务的主机名或IP地址。
  • <目标端口>:本地计算机上实际运行服务的端口号。
  • <用户名>:您在远程主机上的用户名。
  • <远程主机>:远程服务器的主机名或IP地址。

示例:

ssh -R 8080:localhost:80 user@remote.example.com

这个示例将远程服务器上的端口8080映射到本地计算机的端口80。当其他人访问 http://remote.example.com:8080 时,实际上是访问了您本地计算机上的 http://localhost:80

请注意,远程端口转发需要在远程服务器的SSH配置中启用 GatewayPorts 选项。如果您无法修改远程服务器的SSH配置,可能无法使用远程端口转发。

SSH端口转发的基本用法,另外还有动态转发,代理转发, 跳转主机等。

© 版权声明
THE END