2011-01-04 2 views
4

Я создал Amazon EC2 AMI, работающий под CentOS Linux 5.5 и PostgreSQL 8.4. Я хотел бы иметь возможность создать туннель SSH с моей машины на экземпляр, чтобы я мог подключиться к базе данных PostgreSQL с моей машины разработки (JDBC, Tomcat и т. Д.). Я не модифицировал конфигурацию PostgreSQL вообще все же. Я могу успешно SSH в экземпляр из командной строки, и выполните следующую команду, чтобы попытаться создать свой туннель:PostgreSQL SSH Tunnel для Amazon EC2?

ssh -N -L2345:<My instance DNS>:5432 -i <keypair> [email protected]<My instance DNS> 

Я не получаю никаких ошибок при первоначальном выполнении этой команды. Однако, когда я пытаюсь использовать psql для открытия соединения на localhost: 2345, соединение терпит неудачу.

Любые мысли о том, почему это происходит?

+0

Принадлежит к серверу. – rook

+0

Просьба предоставить более подробную информацию о «сбое подключения». –

ответ

5

Первый <My instance DNS> должен быть localhost. И вы, вероятно, не хотите/нуждаетесь в ssh как root.

+0

не может быть localhost в обоих местах, иначе я не укажу экземпляр Amazon EC2 для подключения. – Shadowman

+0

* Первый * один должен быть localhost. Во-вторых, как вы подключаетесь к экземпляру EC2 с вашей рабочей станции. –

+0

Все еще не работает. Я получаю следующее сообщение об ошибке из psql: psql: сервер неожиданно завершил соединение \t Это, вероятно, означает, что сервер завершил аномально \t до или во время обработки запроса. Я также вижу это сообщение в окне, где я запускаю команду SSH: channel 2: open failed: connect failed: Connection failed – Shadowman