SSH代理转发(SSH Proxy Forwarding)允许你通过一个安全的SSH连接,将本地端口的数据转发到远程服务器上的另一个端口。这在需要访问受限网络资源或绕过防火墙限制时非常有用。SSH代理转发有两种类型:本地端口转发(Local Port Forwarding)和远程端口转发(Remote Port Forwarding)。
本地端口转发允许你将本地机器上的一个端口的数据通过SSH连接转发到远程服务器上的另一个端口。
ssh -L local_port:destination_host:destination_port ssh_server_user@ssh_server_host
local_port
是你本地机器上要转发的端口号。destination_host
是目标服务器的主机名或IP地址。destination_port
是目标服务器上的端口号。ssh_server_user
是SSH服务器上的用户名。ssh_server_host
是SSH服务器的主机名或IP地址。假设你想将本地机器的端口8080转发到远程服务器example.com的端口80,可以使用以下命令:
ssh -L 8080:example.com:80 user@ssh_server_host
远程端口转发允许你将远程服务器上的一个端口的数据通过SSH连接转发到本地机器上的另一个端口。
ssh -R remote_port:destination_host:destination_port ssh_server_user@ssh_server_host
remote_port
是远程服务器上要转发的端口号。destination_host
是目标服务器的主机名或IP地址。destination_port
是目标服务器上的端口号。ssh_server_user
是SSH服务器上的用户名。ssh_server_host
是SSH服务器的主机名或IP地址。假设你想将远程服务器example.com的端口9090转发到本地机器的端口9090,可以使用以下命令:
ssh -R 9090:localhost:9090 user@ssh_server_host
通过以上步骤,你可以轻松地使用SSH代理转发功能来访问受限的网络资源或绕过防火墙限制。