使用 ssh 端口隧道从家里连接到 mysql 服务器

使用 ssh 端口隧道从家里连接到 mysql 服务器

我正在使用 SqlYog 和 PUTTY 连接到远程服务器上的 MySQL 服务器。我能够通过 PUTTY 连接到主机上的 MySQL 服务器,但问题是我使用 PUTTY 进入另一台服务器,使用 PUTTY 中的另外两个 SSH。我如何连接到第三个 SSH 主机的 MySQL 服务器???我将此隧道用于主 SSH:3306:127.0.0.1:3306 然后我连接到 SqlYog 上本地主机上的 3306...

答案1

因此,您似乎有四台机器。工作站(您的起点),然后是服务器 A、服务器 B 和服务器 C。您只能通过 SSH 连接到服务器 A。从那里,您只能访问服务器 B,而 MySQL 在服务器 C 上运行。从工作站,您想直接连接到服务器 C 上的 MySQl 吗?

让我们分步进行。如果您在服务器 B 上运行 MySQL,并希望通过服务器 A 从工作站连接到它,那么您将从工作站使用这个。

ssh -L 127.0.0.1:3306:serverB.example.net:3306 [email protected]

这将从您的工作站打开与服务器 A 的连接。在您的工作站上,它会监听端口 3306,并通过隧道发送它找到的内容。隧道实际上是通向服务器 A,但当它到达时,它会将其推送到目的地,即服务器 B(端口 3306)。

您有一个额外的跳数,因此您需要先建立一个新的隧道。

正常情况下通过 ssh 连接到服务器 A,然后使用以下命令创建一条直通服务器 C 上的 MySQL 的隧道:

ssh -L 127.0.0.1:3306:serverC.example.net:3306 [email protected]

现在,从你的工作站创建隧道的第一部分,

ssh -L 127.0.0.1:3306:127.0.0.1:3306 [email protected]

发送到工作站端口 3306 的流量现在被一直路由到服务器 C。

相关内容