📜  SSH 端口转发

📅  最后修改于: 2022-05-13 01:57:02.572000             🧑  作者: Mango

SSH 端口转发

SSH 端口转发是一种用于保护 TCP/IP 连接的方法。 TCP/IP 数据包可以通过 SSH 链接进行隧道传输,从而使数据变得模糊,从而保护链接免受攻击。 SSH 端口转发也可以看作是虚拟专用网 (VPN) 的一种形式。

端口转发类型:
端口转发有两种主要类型:本地端口转发和远程端口转发。这些解释如下。

  1. 本地端口转发:
    假设您在一个限制访问站点的本地网络上,让我们假设 example.com。为了解决这个问题,我们可以通过不在我们网络上的服务器创建一个隧道,从而可以访问 example.com。我们将使用的命令是:
    ssh -L 9090:example.com:80 admin@server.com 

    这里的 -L 标志表明正在使用本地端口转发。因此,上述命令的作用是将本地端口 9090 上的数据转发到可以通过安全 SSH 连接访问 example.com 的服务器。请注意,管理员是服务器上的用户。现在在您的浏览器上访问 example.com。

    第二种情况是您希望访问服务器上的服务,出于安全原因,该服务仅在 localhost 上打开。您将使用以下命令:

    ssh -L 9090:localhost:3306 admin@server.com 

    这里要注意,命令中的 localhost 是从服务器的角度来看的。服务器在端口 3306 上运行 MySQl 服务,它只允许本地连接。

  2. 远程端口转发:
    远程转发的命令是
    ssh -R 9090:example.com:80 admin@server.com

    -R 标志指定远程服务器端口(9090)上的请求应转发到本地网络上的端口 80 上的 example.com。现在,如果我们在端口 9090 上向服务器发出请求,您将收到来自示例的回复。 com。