ssh端口转发有哪几种 有关ssh远程端口转发详细配置( 二 )



DESTINATION:DESTINATION_PORT – 目标计算机的 IP 或主机名和端口 。
[USER@]SERVER_IP – 远程 SSH 用户和服务器 IP 地址 。
本地端口转发主要用于从外部向某人提供对内部服务的访问 。
假设您正在本地计算机上开发 Web 应用程序,并且希望向其他开发人员显示预览 。您没有公共 IP,因此其他开发人员无法通过 Internet 访问该应用程序 。
如果您可以访问远程 SSH 服务器,则可以按如下方式设置远程端口转发:
ssh -L 8080:127.0.0.1:3000 -N -f user@remote.host上面的命令将使 ssh 服务器侦听端口 8080 并将从该端口到端口的本地计算机的所有流量隧道传输 3000。现在您的开发人员可以输入 the_ssh_server_ip:8080 他/她的浏览器并预览您的应用程序 。如果您有麻烦设置远程端口转发,确保 GatewayPorts 被设置为 yes 在远程 SSH 服务器配置 。
动态端口转发
动态端口转发允许您在充当 SOCKS 代理服务器的本地 (ssh 客户端)计算机上创建套接字 。当客户端连接到此端口时 , 连接将转发到远程 (ssh 服务器)计算机,然后将其转发到目标计算机上的动态端口 。
这样,使用 SOCKS 代理的所有应用程序将连接到 SSH 服务器 , 服务器将所有流量转发到其实际目的地 。
在 Linux , macOS 和其他 Unix 系统中创建动态端口转发 (SOCKS) 将 -D 选项传递给 ssh 客户端:
ssh -R [LOCAL_IP:]LOCAL_PORT [USER@]SSH_SERVER使用的选项如下:
[LOCAL_IP:]LOCAL_PORT – 本地机器的 ip 和端口号 。当 LOCAL_IP 省略 SSH 客户端结合在本地主机 。
[USER@]SERVER_IP – 远程 SSH 用户和服务器 IP 地址 。
动态端口转发的典型示例是通过 SSH 服务器隧道传输 Web 浏览器流量 。
以下命令将在端口上创建 SOCKS 隧道 9090 :
ssh -D 9090 -N -f user@remote.host建立隧道后,您可以配置应用程序以使用它 。本文介绍如何配置 Firefox 和 Google Chrome 浏览器以使用 SOCKS 代理 。必须为要对其进行隧道传输的每个应用程序单独配置端口转发 。
在 Windows 中设置 SSH 隧道
Windows 用户可以使用 PuTTY SSH 客户端创建 SSH 隧道 。你可以在这里下载 PuTTY。
启动 Putty 并在 Host name (or IP address) 字段中输入 SSH 服务器 IP 地址 。

ssh端口转发有哪几种 有关ssh远程端口转发详细配置

文章插图
在 Connection 菜单下,展开 SSH 并选择 Tunnels。检查 Local 单选按钮以设置本地 ,  Remote 远程和 Dynamic 动态端口转发 。
如果设置本地转发,请在该 Source Port 字段中 Destination 输入本地转发端口,然后输入目标主机和 IP ,例如 localhost:5901。
对于远程端口转发,请在该 Source Port 字段中 Destination 输入远程 SSH 服务器转发端口,然后输入目标主机和 IP,例如 localhost:3000。
如果设置动态转发,则仅输入 Source Port 字段中的本地 SOCKS 端口 。
ssh端口转发有哪几种 有关ssh远程端口转发详细配置

文章插图
单击 Add 按钮 , 如下图所示 。
ssh端口转发有哪几种 有关ssh远程端口转发详细配置

文章插图
返回 Session 页面以保存设置,这样您每次都不需要输入它们 。在 Saved Session 字段中输入会话名称,然后单击 Save 按钮 。
ssh端口转发有哪几种 有关ssh远程端口转发详细配置

文章插图
选择已保存的会话,然后单击 Open 按钮登录远程服务器 。
ssh端口转发有哪几种 有关ssh远程端口转发详细配置

文章插图
将显示一个询问您的用户名和密码的新窗口 。输入用户名和密码后,您将登录到服务器并启动 SSH 隧道 。
设置公钥验证将允许您在不输入密码的情况下连接到服务器 。
总结
【ssh端口转发有哪几种 有关ssh远程端口转发详细配置】我们已经向您展示了如何设置 SSH 隧道并通过安全的 SSH 连接转发流量 。为了便于使用,您可以在 SSH 配置文件中定义 SSH 隧道,或创建将设置 SSH 隧道的 Bash 别名