pgAdmin 4:如何在 Windows 中通过 SSH 隧道/接口建立连接

CPH*_*hon 9 postgresql windows interface ssh pgadmin-4

我安装了最新的 pgAdmin 4 (v2.1),但我发现(相关线程),目前,通过 SSH 隧道建立连接的唯一方法是使用另一个外部进程,pgAdmin 论坛中的一个示例说:

我设置了一个隧道,如下所示:

ssh -f dpage(at)hostname(dot)enterprisedb(dot)com -L 5999: hostname.enterprisedb.com:5432 -N
Run Code Online (Sandbox Code Playgroud)

(...) 我在 Mac 上运行,但同样的程序应该可以在 Linux 上运行。在 Windows 上,Putty iirc 中有一个隧道应用程序,但我不知道如何使用它。

我找到了一个简单的PuTTY 教程来使用 SSH Tunnel 建立连接

连接已建立,但看起来,当我尝试通过 pgAdmin 连接时,它失败或被拒绝(使用127.0.0.1:3306127.0.0.1:5432作为隧道的目的地)。为什么?

CPH*_*hon 10

因此,在PuTTY SSH 隧道教程的这一步中:

在 PuTTY 中添加隧道

我改为使用5432作为Source 端口my.tunnel.domain:5432作为Destination

然后在连接详细信息中:

PuTTY 连接详细信息

主机名中,我放置了要连接的服务器(带有数据库的服务器:my.db.domain),但登录凭据与隧道的my.tunnel.domain 相关(例如,连接 > 数据具有隧道的域用户和连接> SSH > Auth具有隧道的域私钥)。

打开了这个连接(如果成功,它会打开一个带有终端的窗口),最后在 pgAdmin 4 (v2.1) Create Server...窗口中,我刚刚添加了localhost作为主机名/地址5432作为端口,以及与my.db.domain相关的凭据:

pgAdmin SSH 隧道本地主机连接

如果带有终端的 PuTTY 窗口处于活动状态,则 DB 连接已建立并正常工作。

关于如何设置 Putty SSH 隧道的另一个更详细的教程可以在这里找到。


T0h*_*0ha 6

在较新版本的 PGAdmin4 中,您可以配置 SSH 隧道(那里有一个选项卡,但您需要使用 PEM 格式的密钥,而不是现在默认使用ssh-keygen.

使用

ssh-keygen -m PEM -t rsa -b 4096
Run Code Online (Sandbox Code Playgroud)

更多信息请点击这里