如何使用 PuTTY 建立隧道连接数据库

如何使用 PuTTY 建立隧道连接数据库

我正在尝试使用 Windows 10 家用电脑上的 Putty 隧道连接到 Ubuntu 18.04 服务器上的远程 MySQL 数据库。

使用 putty,我可以通过 SSH 连接到我的 Ubuntu 服务器终端。这一步没问题。然后我添加一个使用本地端口 3307 并指向远程服务器上端口 3306 的隧道。(下面的屏幕截图)。

在此处输入图片描述

然后,当我运行 putty 会话时,我希望可以打开数据库工具(如 DBeaver),并创建一个连接,localhost:3307该连接将我连接到 3306 上的远程服务器的 MySQL 数据库。当我尝试此操作时,出现错误。我是否错过了关键步骤?

我知道还有其他方法可以连接到远程数据库(包括 DBeaver 中的内置 SSH 隧道,顺便说一下,它工作得很好!),但我需要使用类似 Putty 的 SSH 隧道来执行我尝试的工作流程。DBeaver 只是一个示例,它显示了与我编程的工作流程相同的错误。所以请继续支持这种思路,谢谢。

在此处输入图片描述

Putty 事件日志

2019-01-15 10:47:02 Connecting to 159.###.###.74 port 22
2019-01-15 10:47:02 We claim version: SSH-2.0-PuTTY_Release_0.70
2019-01-15 10:47:02 Server version: SSH-2.0-OpenSSH_7.6p1 Ubuntu-4ubuntu0.1
2019-01-15 10:47:02 Using SSH protocol version 2
2019-01-15 10:47:02 Doing ECDH key exchange with curve Curve25519 and hash SHA-256
2019-01-15 10:47:03 Server also has ecdsa-sha2-nistp256/ssh-rsa host keys, but we don't know any of them
2019-01-15 10:47:03 Host key fingerprint is:
2019-01-15 10:47:03 ssh-ed25519 256 ##:##:##:##:##:##:##:##:##:##:##:##:##:##:##:##
2019-01-15 10:47:03 Initialised AES-256 SDCTR client->server encryption
2019-01-15 10:47:03 Initialised HMAC-SHA-256 client->server MAC algorithm
2019-01-15 10:47:03 Initialised AES-256 SDCTR server->client encryption
2019-01-15 10:47:03 Initialised HMAC-SHA-256 server->client MAC algorithm
2019-01-15 10:47:10 Sent password
2019-01-15 10:47:10 Access granted
2019-01-15 10:47:10 Opening session as main channel
2019-01-15 10:47:11 Opened main channel
2019-01-15 10:47:11 Local port 3307 forwarding to 159.###.###.74:3306
2019-01-15 10:47:11 Allocated pty (ospeed 38400bps, ispeed 38400bps)
2019-01-15 10:47:11 Started a shell/command

答案1

在 putty 中,我的转发目的地应该是 127.0.0.1:3306,而不是公共 IP。我尝试使用 localhost:3306,但没有成功。它必须是 127.0.0.1,因为这是 MySQL 设置为监听的全部内容。

相关内容