Пытается подключиться к удаленному серверу PG на OSX, но время ожидания истекает.
Сначала я настроил туннель:
ssh -L 5433:serverip:5432 user@serverip
Затем в отдельном терминале пытаюсь подключиться к PG:
psql -h localhost -p 5433 -U user
Здесь связь просто сидит около 3 минут. Затем я получаю следующее сообщение:
psql: server closed the connection unexpectedly
This probably means the server terminated abnormally
before or while processing the request.
На терминале туннеля ssh я вижу следующее:
channel 3: new [direct-tcpip]
(3 mins later:)channel 3: open failed: connect failed: Connection timed out
Я пробовал все возможные варианты (localhost vs 127.0.0.1, diff usernames). Ничего не работает. Эта точная настройка отлично работает на Windows Putty, так что это не сервер. Я также могу использовать ssh и запускать psql на сервере, так что это не PG.
Я верю, что у тебя есть postgresql
настроен на прослушивание только на loopbavk (localhost
). Вы должны использовать переадресацию следующим образом:
ssh -L 5433:localhost:5432 user@serverip
В противном случае он попытается подключиться к общедоступному IP-адресу вашего сервера, на котором ничего не слушает и не авторизовано для входа в систему.
У меня была очень похожая проблема (здесь Ubuntu): туннель ssh для порта PostgreSQL, доступ psql к удаленной базе данных с помощью этого туннеля. Когда я запрашивал автозаполнение в psql (выберите * из x), туннель зависал / вылетал.
Решение: изменить MTU для всех интерфейсов с 1500 на 576. Пояснение: http://www.snailbook.com/faq/mtu-mismatch.auto.html
Прошло несколько часов моей жизни ..