当 MySQL 设置在 2 层 ssh 后面时,我该如何连接它?

当 MySQL 设置在 2 层 ssh 后面时,我该如何连接它?

我有一个 MySQL 服务器,位于堡垒服务器后面,我希望从本地机器连接到该服务器。

理想情况下,我希望将 MySQL 端口(在本例中为 3316)转发到我的机器上的本地端口。

我尝试过 plink -ssh -L 3306:my.sql.ip.address:3316 my.bastion.server,但这不起作用。

我有一个用于堡垒服务器的 ssh 登录名,还有另一个用于运行 mysql 服务器的机器的登录名。

答案1

您可以双链 SSH 端口转发,但稍微更简单的方法是在以下位置设置“代理”配置.ssh/config

Host *%proxy
    ProxyCommand ssh [email protected] "nc -w1 $(echo %h | cut -d%% -f1) 22"
    ForwardAgent yes
    StrictHostKeyChecking no

然后使用调出该视图。ssh -L 3306:127.0.0.1:3316 [email protected]%proxy

我一直都在使用它,尽管通常使用动态端口转发(-D 1080)来到达过于严格的防火墙后面的主机的管理模块。

相关内容