PostgreSQL SSH隧道到Amazon EC2?

4

我已经创建了一个运行CentOS Linux 5.5和PostgreSQL 8.4的Amazon EC2 AMI。我想能够从我的机器创建一个SSH隧道到该实例,以便我可以从我的开发机器(JDBC、Tomcat等)连接到PostgreSQL数据库。目前我还没有修改PostgreSQL配置。我可以成功地通过命令行SSH到该实例,并尝试运行以下命令来创建我的隧道:

ssh -N -L2345:<My instance DNS>:5432 -i <keypair> root@<My instance DNS>

我最初运行此命令时没有收到任何错误。但是,当我尝试使用psql在localhost:2345上打开连接时,连接失败了。

有什么想法为什么会发生这种情况吗?


请提供有关“连接失败”的更多详细信息。 - Peter Eisentraut
1个回答

5
第一个<My instance DNS>应该是localhost。而且你可能不需要使用root用户进行ssh登录。

我的实例 DNS 在两个地方都不能是 localhost,否则我就没有指定要连接的 Amazon EC2 实例。 - Shadowman
第一个应该是本地主机。第二个是如何从您的工作站连接到EC2实例。 - Peter Eisentraut
仍然无法工作。我从psql收到以下错误消息:psql:服务器意外关闭了连接,这可能意味着服务器在处理请求之前或期间异常终止。我还在运行SSH命令的窗口中看到此消息:通道2:打开失败:连接失败:连接被拒绝。 - Shadowman
现在它正在工作。服务已经崩溃了。一旦我重新启动它,一切都按预期开始工作了。谢谢! - Shadowman
这个问题中的命令似乎有些格式不正确,以下是我成功操作的命令:ssh -L 2345:localhost:5432 -i ~/.ssh/mykey.pem ubuntu@ec2-instance - Stephen Fuhry

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接