我需要设置从本地 Windows 机器端口 3307 到远程 MySQL 服务器端口 3306 的端口转发,但通过 2 个 Linux 代理服务器和一个 Linux Web 服务器访问。
我需要在 Windows 机器上使用 Putty 或 plink.exe 来设置连接。
我找到了使用 Putty GUI 或 plink CLI 的示例,以仅使用 1 个代理服务器而不是多个跃点来实现类似的效果。
我可以使用 *nix 机器实现我需要的连接
ssh -N -L 127.0.0.1:3307:db-server:3306 -J user@proxy1 user@proxy2 user@web-server
尝试使用 Putty 或 plink 做同样的事情。
更新
我最终在 Windows 上使用了 OpenSSH。
最后的命令和上面的有点不同。
ssh -L 127.0.0.1:3307:db-server:3306 -J user@proxy1,user@proxy2 user@web-server -p 31001 -i "C:\path\to\private-key"
请注意,我们连接到端口 31001 上的最终 Web 服务器,因此-p 31001
.
如果没有明确要求使用
putty
/plink
,我将只使用 Windows 内置ssh
的目的。它与 Unix 中的 SSH 相同。