SSH 端口转发


本地端口转发

1
ssh -L 8000:127.0.0.1:8807 -p 2500 root@192.227.12.30

这是一个 SSH 本地端口转发 命令,它的作用是:

  • 本地端口 8000:让本地机器上的端口 8000 上的流量通过 SSH 隧道转发到远程机器上的 127.0.0.1:8807。
  • -p 2500:指定 SSH 连接使用的端口是 2500,而不是默认的 22 端口。
  • root@192.227.12.30:通过 SSH 连接到远程服务器 192.227.12.30,使用 root 用户。

换句话说,执行这个命令后,本地机器上的端口 8000 会将所有流量转发到远程服务器上的 127.0.0.1:8807。这可以用来将本地请求转发到远程服务器上的服务。


使用 PuTTY 实现相同的效果

如果你想要通过 PuTTY 在 Windows 上实现相同的效果,按照以下步骤操作:

  1. 打开 PuTTY:启动 PuTTY,进入主界面。

  2. 设置 SSH 连接:

    • 在 Host Name (or IP address) 字段中输入远程主机的 IP 地址:192.227.12.30。
    • 在 Port 字段中输入:2500。
    • 确保 Connection Type 选择为 SSH。
  3. 配置端口转发:

    • 在左侧的菜单中,找到 Connection > SSH > Tunnels。
    • 在 Source port 字段中输入 8000(本地端口)。
    • 在 Destination 字段中输入 127.0.0.1:8807(远程主机的地址和端口)。
    • 确保选择 Local 和 Auto。
    • 点击 Add 按钮,这样就设置了本地端口转发。
  4. 保存会话(可选):如果你希望以后方便连接,可以返回到 Session 部分,在 Saved Sessions 字段中输入一个名字,然后点击 Save。

  5. 连接:

    • 点击 Open 按钮以连接到远程主机。
    • 如果是第一次连接,PuTTY 会提示你接受远程主机的 SSH 密钥,点击 Yes 继续。
    • 输入用户名和密码(例如:root 用户),完成登录。

完成这些步骤后,本地端口 8000 将会转发到远程主机上的 127.0.0.1:8807,你就可以通过 http://127.0.0.1:8000 访问该远程服务了。


总结

以这样的方式,就可以不用 IP 、域名访问了。本地就可以访问,一些私密服务完成可以在本地完成。