2016-05-06 8 views
0

У меня есть капелька на DigitalCloud с Ubuntu 14.04 и PostgreSQL 9.3. На локальном компьютере у меня такая же конфигурация.Не удается установить Postgres pgAdmin SSH tunnel на Ubuntu

Мое соединение ssh работает, поэтому никаких проблем с этим не происходит. Это должно быть где-то в моих настройках Postgres или окружении.

Так что я уже сделал на сервере:

  • изменил порт прослушивания в /и т.д./SSH/sshd_config

    Порт 4321

  • с поддержкой удаленных соединений в /etc/postgresql/9.3/main/pg_hba.conf

    хозяин все все 0.0.0.0/0 md5

  • добавил прослушивания адреса в /etc/postgresql/9.3/main/postgresql.conf

    listen_addresses = '*'

И вот мои локальные настройки подключения:

Here is my Properties tab screen

Here is my SSH Tunnel tab screen

Я использую тот же (и только) файл id_rsa.pub, к которому я раньше использовал свое ssh-соединение. Что работает. И это ошибка, которую я пытаюсь подключить:

SSH error: Authentication by identify file failed with error code -16 [Unable to extract public key from private key file: Wrong passphrase or invalid/unrecognized private key file format]

Моя кодовая фраза была пуста.

Если я пытаюсь соединиться без SSH туннеля есть еще одна ошибка:

Error connecting to the server: SSL error: unknown protocol expected authentication request from server, but received S

Я полный новичок в этом, и я, возможно, пропустил что-то важное. Скажите, пожалуйста, если вы хотите, чтобы я предоставил любую другую информацию по этому вопросу.

EDIT 1:

Если я использовать правильный файл id_rsa (без паба), то я получаю такую ​​же ошибку:

Error connecting to the server: SSL error: unknown protocol expected authentication request from server, but received S

ответ

1

I use just the same (and only) id_rsa.pub file

Первый вопрос заключается в том, что это неправильный файл , Посмотрите, есть ли файл в том же месте с именем «id_rsa» без расширения «.pub». Это файл, который вы должны использовать в качестве файла идентификации.

RSA ssh ключи имеют два файла: «id_rsa» содержит закрытый ключ, а «id_rsa.pub» содержит открытый ключ. id_rsa.pub устанавливается на сервер, к которому вы подключаетесь, а id_rsa используется клиентом, который подключается к серверу.

(Ключевые файлы могут быть названы нечто иное, чем «id_rsa», конечно же. Дело в том, что частный ключ находится в Foobar, в то время как открытый ключ в foobar.pub.)

Если у вас нет файла id_rsa, вы должны сгенерировать новый ключ и сохранить оба файла на этот раз.

Вторая проблема заключается в том, что у вас неправильный порт на Свойствах tab. Номер порта на вкладке свойств - это порт, на котором запущен сервер PG. Вы должны установить это значение 5432 или любой другой порт, на котором ваш сервер действительно прослушивает. Кажется, вы также должны установить «хост» на вкладке свойств на «localhost», но я не знаю, требуется ли это.

Error connecting to the server: SSL error: unknown protocol expected authentication request from server, but received S

Что происходит сейчас в том, что ваш туннелируется соединение PG будет порт 4321 на удаленном хосте, который является сервером SSH. Случается, что первое, что сервер SSH отправляет новому клиенту, это строка версии, которая выглядит как «SSH-2.0-OpenSSH_6.9». Я не знаю протокол PG, но, видимо, ваш клиент читает «S» в строка SSH и сразу же знает, что она не подключена к серверу PG.

+0

да, я сделал попробовать это так, но это дает мне ту же ошибку: _error при подключении к серверу: ошибка SSL: неизвестный протокол ожидаемого запроса аутентификации от сервера, но получил S_ –

+0

А может быть, это может помочь: если я сменил имя пользователя на какое-то несуществующее имя, он дал мне эту ошибку _SSH: аутентификация по файлу с идентификатором не удалась с кодом ошибки -18 [Неверная комбинация имени пользователя/публичного ключа] _ –

+0

Только что выяснили, что у моих локальных Postgres и на сервере есть разные версии (9.5 и 9.3), и подумал, что это может вызвать проблему. Поэтому я обновил версию сервера до того же самого 9.5.2, перезапустил ее, но проблема все еще существует :( –