如何在 pgAdmin4 和 DBeaver 中通过 SSH 隧道连接到远程数据库
SSH允许两台计算机进行通信并加密共享数据。它是安全访问远程服务器终端和文件传输的常用方法。
SSH还可用于在计算机之间创建安全的通信隧道,以转发通常未加密的其他网络连接,这种技术称为SSH 隧道(或端口转发)。
以下是一些使用SSH隧道或端口转发的常见场景:
- 如果您尝试访问的远程服务端口被防火墙阻止。
- 您希望安全地连接到本身不使用加密和许多其他服务的服务。
例如,如果您希望连接到在服务器 A的端口5432上运行的远程PostgreSQL数据库群集,但只有服务器 B (您有 SSH 访问权限)才允许访问该端口。您可以通过服务器 B 的SSH 连接(隧道)路由流量以访问数据库群集。
本指南假设您已在 Linux 系统上安装了pgadmin4和DBeaver数据库管理工具,否则,请查看以下指南:
- 如何在 CentOS 8 中安装 PostgreSQL 和 pgAdmin
- 如何在 RHEL 8 中安装 PostgreSQL 和 pgAdmin
- 如何在 Debian 10/11 上安装 PgAdmin 4
- 如何在 Ubuntu 20.04 中安装 PostgreSQL 和 pgAdmin4
- 如何在 Linux Mint 20 上使用 pgAdmin4 安装 PostgreSQL
- 如何在 Linux 中安装 DBeaver 通用数据库工具
在 pgadmin4 中配置 SSH 隧道
打开pgadmin4应用程序并开始创建一个新的服务器连接,转到“对象”选项卡,然后单击“创建”,再单击“服务器”。在弹出窗口的“常规”选项卡下,输入服务器名称,如以下屏幕截图所示。
接下来,点击连接选项卡,进入数据库连接设置。输入数据库服务器 IP 地址或FQDN(完全限定域名)。然后设置端口、数据库名称、数据库用户名和用户密码。
您可以选中“保存密码”以在本地存储密码,这样每次尝试连接数据库时就不会提示您输入密码。
接下来,点击SSH 隧道选项卡。打开“使用 SSH 隧道”选项,输入隧道主机、隧道端口、SSH 用户名。然后选择身份验证类型(密码或身份文件)。
我们建议使用公钥认证,因此请选择IDENTITY FILE并从本地机器中选择私钥文件。然后单击SAVE,如下图所示。
如果数据库连接和 SSH 隧道提供的设置和凭据正确且有效,则应该成功建立隧道和数据库连接。
在 DBeaver 中配置 SSH 隧道
启动DBeaver后,转到“数据库”选项卡,然后单击“新建数据库连接”,如下面的屏幕截图所示。
从列表中选择您的数据库驱动程序,如以下屏幕截图所示,然后单击“下一步”。
现在输入数据库连接设置、数据库主机 IP 或 FQDN、数据库名称、数据库用户名和用户密码,如下面的屏幕截图所示。然后单击 SSH选项卡以输入隧道连接设置,如下一步所述。
通过勾选使用 SSH 隧道选项来启用 SSH 。输入隧道主机、隧道端口、SSH 连接用户名,并选择身份验证方法。
与往常一样,我们建议使用公钥认证。然后选择或输入私钥的路径。然后单击“完成”,如以下屏幕截图中突出显示的那样。
注意:如果您的私钥有密码,您需要提供它。
如果您的数据库连接和 SSH 隧道设置正确且有效,则连接应该成功。现在您可以安全地使用远程数据库。
有关更多信息,请查看pgadmin4 文档或DBeaver SSH 连接文档。