Порт принимается как sh сессия - PullRequest
0 голосов
/ 29 мая 2020
bind [127.0.0.1]:5432: Address already in use
channel_setup_fwd_listener_tcpip: cannot listen to port: 5432
Could not request local forwarding.

Я пытаюсь получить доступ к удаленному серверу, но порт 5432 занят.

Я пробовал lsof -ti:5432, но ничего не работает. Пожалуйста, помогите.

1 Ответ

1 голос
/ 29 мая 2020

Похоже, здесь происходит то, что вам предлагается получить доступ к PostgreSQL через туннель S SH, как описано здесь: https://www.postgresql.org/docs/10/ssh-tunnels.html

Вас попросили использовать:

ssh -L localhost:5432:localhost:5432 -Y ambisense@scifilab.dyndns.org

Это означает, что порт 5432 с scifilab.dyndns.org будет перенаправлен на локальный порт 5432 вашего компьютера (при условии, что порт 5432 вашего компьютера не используется ничем другим). После того, как этот туннель создан, вы можете подключиться к PostgreSQL на scifilab.dyndns.org, как если бы он работал на вашем компьютере.

Освободите порт 5432 на вашем компьютере

В вашем случае 5432 был привязан к локальному экземпляру PostgreSQL. sudo service postgresql stop или brew services stop postgresql или аналогичная команда в зависимости от вашей ОС остановит запуск PostgreSQL локально на вашем компьютере и освободит порт 5432. Как только этот порт будет освобожден, вы можете запустить команду s sh для создания туннеля. .

После создания туннеля вы можете подключиться к PostgreSQL scifilab'а, используя psql -h localhost -U youruser -d yourdatabase.

Вместо этого создать туннель на другой порт

Если вы не можете освободить 5432, вы можете туннелировать scifilab PostgreSQL на другой порт вашего компьютера, запустив:

ssh -L localhost:55432:localhost:5432 -Y ambisense@scifilab.dyndns.org

Затем вы можете подключиться к scifilab'у PostgreSQL, используя:

psql -h localhost -p 55432 -U youruser -d yourdatabase
...