【问题标题】:Set up SSH tunnel with PgAdmin 4使用 PgAdmin 4 设置 SSH 隧道
【发布时间】:2021-04-13 06:49:53
【问题描述】:

我是 pgAdmin 和 SSH 隧道的新手。我正在尝试使用 SSH 隧道建立与 postgres 数据库的连接。我在 Windows 10 上。我收到以下说明(我更改了下面的所有名称和端口)

将以下内容添加到您的 SSH 配置 (~/.ssh/config):

Host prod
  Hostname myorg.org.uk
  User sshusername
  IdentityFile idef.pem
  LocalForward 9999 localforward.amazonaws.com:8888

现在您可以通过隧道进入 PostgreSQL:

ssh -N prod

现在 psql et al 可以连接了(您必须在 SSH 隧道运行时打开一个新的终端窗口):

psql -h localhost -p 9999 -U connectionusername -d dproduction

我还获得了我尝试连接的数据库的 dproduction 数据库密码:dproduction_pwd

我不明白 pgAdmin 中的一切。我做了以下事情:

创建服务器:
名称 = 测试

连接:
主机名/地址:本地主机
保护:9999
维护数据库:postgres
用户名:连接用户名

SSH 隧道:
隧道主机:myorg.org.uk
隧道站:9999
用户名:sshusername
身份文件:C:\idef.pem
密码:dproduction_pwd

我一定是做错了什么,因为我没有从上面的 ssh 配置中使用 LocalForward,这是怎么回事?将其放入 Tunnel 主机不起作用。

【问题讨论】:

    标签: ssh-tunnel pgadmin-4


    【解决方案1】:

    我设法使用 SSH 隧道通过 Windows 10 SSH 和 PGAdmin SSH 隧道访问我的数据库。确实需要一段时间。 pgAdmin 的文档对此不是很清楚。这是我发现的不同之处:

    使用 Windows 10 SSH 设置 SSH 隧道时,您需要将本地端口(在您的情况下为 9999)转发到远程端口(8888)。

    在 pgAdmin 中,不再需要该本地端口。我的猜测是因为它已经知道你想通过哪个隧道访问哪个服务,它会在后台处理本地端口。在最常见的情况下,该隧道端口应该是 SSH 端口 22。

    我建议对您当前设置的更改是:

    1. SSH Tunnel选项卡中,将隧道端口设置为22
    2. Connection选项卡中,将端口设置为8888

    这应该可行。

    【讨论】:

      猜你喜欢
      • 2014-09-25
      • 2016-09-01
      • 2021-01-25
      • 2014-03-26
      • 1970-01-01
      • 2018-02-15
      • 2010-10-03
      • 2019-08-07
      • 2015-02-03
      相关资源
      最近更新 更多