如何通过两个 SSH 主机连接到 MySQL 数据库?
这是我的情况:我有两个 SSH 主机,如下所示。MySQL 在 BOX2 主机上运行。
MyBox(MySQL GUI client) -----SSH(port 22)--->BOX1(IP: 190.xx.xx.xx)---SSH(port 22)--->BOX2(IP: 190.xx.xx.xx)[MySQL server]
我的问题是,如果我有多个 SSH 主机进行隧道连接,如上图所示,我该如何连接?
我认为这会有所帮助。从 MyBox 尝试这个命令(具有 MySQL 客户端)
ssh user@box1 -L some-local-port:box2:22
现在从客户端尝试连接以这种方式连接
MySQL host : localhost
MySQL usernmae : mysql-username-of-server-installed-at-Box2
MySQL password : mysql-password-of-server-installed-at-Box2
MySQL port : 3306 (suppose mysql server at Box-2 is listening at port 3306)
在隧道信息中
SSH host : localhost
SSH pass : ssh-password-of-Box2
SSH port : some-local-port
尝试以下操作:
ssh -L 33306:localhost:33306 user@box1_hostname ssh -L 33306:localhost:3306 user@box2_hostname
然后尝试使用 127.0.0.1:33306 连接到 mysql。请注意,box1 上的任何人都可以使用端口 33306,这对您来说可能是也可能不是问题。
另一种实现相同目的的方法是使用此处解释的ProxyCommand。