Linux 使用Navicat通过SSH登录Postgresql-正确的设置是什么?
我正在尝试使用Navicat通过SSH登录EC2服务器上的PostgreSQL 我收到以下错误消息: “80070007:SSH隧道:连接时发生套接字错误。WSAGetLastError返回10061($274D)” 在服务器上,“角色”postgres已经存在,并且已经有一个名为postgres的数据库。我已经给postgres分配了一个密码(通过Putty使用ALTER NAME命令) 我在Navicat中使用的SSH设置有: 港口:5432 用户名:[管理员用户名] 认证方式:公钥 连接设置包括: 主机名:localhost 港口:3306 初始数据库:postgres 用户名:postgres 密码:[密码] 当我连接到同一台机器上的MySQL服务器时,设置完全相同,除了: SSH到端口22 用户名(用于连接):root(带相应密码) 我已尝试将SSH连接到端口22,在这种情况下,错误消息为: “无法连接到服务器:连接被拒绝(0x0000274D/10061) 服务器是否在主机“localhost”上运行并在端口60122上接受TCP/IP连接? 收到对SSL协商的无效响应:4“Linux 使用Navicat通过SSH登录Postgresql-正确的设置是什么?,linux,postgresql,ssh,amazon-ec2,navicat,Linux,Postgresql,Ssh,Amazon Ec2,Navicat,我正在尝试使用Navicat通过SSH登录EC2服务器上的PostgreSQL 我收到以下错误消息: “80070007:SSH隧道:连接时发生套接字错误。WSAGetLastError返回10061($274D)” 在服务器上,“角色”postgres已经存在,并且已经有一个名为postgres的数据库。我已经给postgres分配了一个密码(通过Putty使用ALTER NAME命令) 我在Navicat中使用的SSH设置有: 港口:5432 用户名:[管理员用户名] 认证方式:公钥 连接设
关于我需要更改哪些设置才能使其正常工作,您有什么想法吗?您的配置似乎非常错误 ssh端口不应为5432,而应为22(ssh默认值) postgresql端口应该不是3306(实际上是MySQL),而是5432(postgres默认) 要验证您的设置,请尝试手动将ssh绑定到EC2实例中。 ssh登录后,检查是否可以执行“telnet localhost 5432”。 如果您立即看到错误,则意味着postgres服务器未运行。 如果你什么也没看到,这是个好兆头,意味着Postgres正在运行。 您可以通过Ctrl-],q,Enter退出
请注意,EC2实例可能要求您使用ssh公钥身份验证(而不是密码)。在这种情况下,您必须在Navicat中找到提供此密钥的选项。谢谢。我是一个非常初级的人,在这些港口附近游荡。正如您所建议的,我使用了SSH端口22和postgresql端口5432,这是正确的组合,现在可以工作了。(我在访问的pg_hba.conf设置中遇到了另一个问题——现在也解决了——我对IPv4和IPv6使用了“md5”访问。)