SSH端口转发(SSH Port Forwarding)是一种通过SSH连接来建立本地端口与远程主机之间的安全通道,以便在本地和远程主机之间传输数据。这种技术常用于加密通信或访问受限的服务。
SSH端口转发有两种主要类型:本地端口转发(Local Port Forwarding)和远程端口转发(Remote Port Forwarding)。
本地端口转发(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