通过跳转服务器连接MySQL(Sequel Pro或Workbench)

Mul*_*rkb 1 mysql ssh socks mysql-workbench sequelpro

背景:客户的站点是外部托管的。只有列入白名单的 IP 地址才能通过 ssh 连接到其服务器。我的公司最近搬进了一个拥有动态 IP 的共享空间。我想最好通过sequel pro访问mysql。

我已经设置了一个跳转服务器并将该 IP 列入白名单。我可以使用它通过简单的隧道访问 shell:ssh -t user@jump.com ssh -i keylocation user@client.com

我可以通过使用以下命令打开 filezilla 的 SOCKS 代理:ssh -D 8080 -C -N user@jump.com然后将 filezilla 设置为通过 SOCKS 127.0.0.1:8080 连接。

是否有任何类似的方法可用于通过本地计算机(A)上的客户端连接到MySQL,通过跳转服务器(B)访问客户端服务器(C)上的本地主机上的mysql?

Mul*_*rkb 5

所以解决这个问题的方法是端口转发。

ssh -t user@jump.com ssh -i key user@client.com -L 33060:localhost:3306
Run Code Online (Sandbox Code Playgroud)

基本上发生的事情是从我的本地计算机将跳转服务器上的端口 33060 转发到客户端服务器上的 3306(mysql 端口)。

如果该连接保持打开状态,我可以通过 ssh 将 Sequel Pro 连接到跳转服务器,并通过端口 33060 连接到客户端服务器上的数据库。