AWS Aurora Postgres通过Postico SSH隧道连接失败,端口转发正常
问题排查:Postico配置SSH隧道连接Aurora PostgreSQL失败(含换行符的用户名错误)
场景说明
- 正常场景:执行本地SSH端口转发命令
ssh -L 5000:dbhost:5432 jeremy@vpcip,再通过Postico连接localhost:5000,可正常访问VPC内的AWS Aurora PostgreSQL数据库。 - 异常场景:直接在Postico内配置SSH隧道(数据库地址、用户、密码、私钥与正常场景完全一致),但报错
The server rejected the password for the PostgreSQL user,更换用户后问题依旧。
日志关键信息
数据库日志显示核心错误:
2023-12-06 17:53:18 UTC:10.192.10.56(58824):company_api_user company_user company_user@companytitle_db:[29671]:FATAL: password authentication failed for user "company_api_user company_user company_user" 2023-12-06 17:53:18 UTC:10.192.10.56(58824):company_api_user company_user company_user@companytitle_db:[29671]:DETAIL: Role "company_api_user company_user company_user" does not exist. Connection matched pg_hba.conf line 14: "host all all all md5" 2023-12-06 17:53:19 UTC:10.192.10.56(58840):company_api_user
可见Postico通过SSH隧道提交的用户名包含换行符和多余内容,导致数据库无法匹配到对应角色。
排查与解决步骤
- 检查Postico用户名输入格式:进入连接配置的SSH隧道或数据库用户输入框,确认是否存在换行、空格或复制粘贴带入的冗余内容,手动重新输入正确的单个用户名,避免复制隐藏格式字符。
- 核对配置字段是否混淆:确认SSH隧道的用户(
jeremy)和数据库用户(company_api_user)是否被错误填反或混合填写。 - 重置连接配置:删除当前异常连接,重新创建新连接,逐字段手动输入参数,避免旧配置文件残留的异常格式数据。
- 验证私钥文件完整性:检查SSH私钥文件是否存在多余换行或注释,确保私钥格式标准,无额外干扰字符。
内容的提问来源于stack exchange,提问作者conterio
相关产品推荐
相关产品推荐

