我可以使用建立 SSH 隧道ssh -L 2222:<RDS-Endpoint>:5432 ec2-user@<EC2-IP> -i ~/.ssh/key.pem
,然后使用连接到我的 RDSpsql "host=localhost port=2222 user=postgres password=<pw>
pgAdmin 4 中的这些相同设置似乎不起作用。
- 连接选项卡中的主机名 =
<RDS-Endpoint>
- 隧道主机=
<EC2-IP>
- 连接选项卡中的端口 = 5432
- SSH 隧道选项卡中的端口 = 2222
- 连接选项卡中的用户名 = postgres
- ssh 隧道选项卡中的用户名 = ec2-user
- 连接选项卡中的密码 =
<pw>
- ssh 隧道选项卡中的身份文件 = ~/.ssh/key.pem
尝试了一段时间后 pgAdmin 4 失败并显示:unable to connect to server: Failed to create the SSH Tunnel. Error: Could not establish session to SSH gateway
cat ~/.pgadmin/pgadmin4.log
只是给我:
ERROR pgadmin: Could not establish session to SSH gateway
Traceback (most recent call last):
File "/usr/pgadmin4/web/pgadmin/utils/driver/psycopg3/server_manager.py", line 610, in create_ssh_tunnel
self.tunnel_object.start()
File "/usr/pgadmin4/venv/lib/python3.10/site-packages/sshtunnel.py", line 1331, in start
self._raise(BaseSSHTunnelForwarderError,
File "/usr/pgadmin4/venv/lib/python3.10/site-packages/sshtunnel.py", line 1174, in _raise
raise exception(reason)
sshtunnel.BaseSSHTunnelForwarderError: Could not establish session to SSH gateway
鉴于它是通过终端运行的,我真的不知道如何继续。所以显然不是 AWS 方面的安全组问题。我尝试过删除~/.pgadmin
并重试,但结果相同。任何帮助表示感谢。
如果这有帮助:
lsb_release -a
No LSB modules are available.
Distributor ID: Pop
Description: Pop!_OS 22.04 LTS
Release: 22.04
Codename: jammy