SSH隧道 ylc3000 2025-10-29 0 浏览 0 点赞 短文 制图:Ivan Velichko 左上部分: 本地端口转发 (ssh -L):这允许客户端在本地端口(如 localhost:8080)上监听,并将流量转发到远程机器的端口(如 localhost:80)。 ssh -L 命令有两种形式:简写形式(ssh -L 8080:localhost:80 user@server)和长写形式(ssh -L localhost:8080:localhost:80 user@server),分别说明了在哪里开始监听和将流量转发到哪里。 右上部分: 通过堡垒主机进行本地端口转发:本地端口转发是通过堡垒主机进行的。客户端监听 localhost:8080,但是流量通过堡垒(user@bastion)转发到目标服务器。 服务器监听 localhost:80,并且 SSH 连接经过堡垒主机,堡垒主机具有公共和私有接口。 左下部分: 远程端口转发 (ssh -R):这允许服务器在远程端口(如 0.0.0.0:8080)上监听,并将流量转发到客户端的本地端口(如 localhost:80)。 ssh -R 命令同样包括两个部分:远程地址(0.0.0.0:8080)和本地地址(localhost:80),分别说明了流量应该从哪里转发到哪里。 右下部分: 通过网关进行远程端口转发:在这种情况下,流量从远程服务器通过网关(user@gateway)转发到客户端。 网关允许 SSH 连接建立隧道,从客户端到服务器,从而确保客户端本地服务器的资源可以被远程访问。