pgadmin не будет подключаться к Postgresql через ssh в macOS
Я пытаюсь, но безуспешно, подключить pgAdmin 4 к моей установке Postgresql на Linode, используя ssh туннель, как указано в https://linode.com/docs/databases/postgresql/securely-manage-remote-postgresql-servers-with-pgadmin-on-macos-x/
Это не сработало, pgAdmin дал мне:
Unable to connect to server:
could not connect to server: Connection refused
Is the server running on host "localhost" (::1) and accepting
TCP/IP connections on port 5432?
could not connect to server: Connection refused
Is the server running on host "localhost" (127.0.0.1) and accepting
TCP/IP connections on port 5432?
Я часами искал решение, и ничего не помогло. Я наверняка что-то упустил. Вот что еще я пробовал:
- Я прошел все шаги в https://blog.bigbinary.com/2016/01/23/configure-postgresql-to-allow-remote-connection.html
мой
netstat -nlt
показывает:tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN tcp 0 0 127.0.0.1:587 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:5432 0.0.0.0:* LISTEN tcp 0 0 127.0.0.1:5433 0.0.0.0:* LISTEN tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN tcp6 0 0 :::80 :::* LISTEN tcp6 0 0 :::22 :::* LISTEN tcp6 0 0 :::5432 :::* LISTEN tcp6 0 0 ::1:5433 :::* LISTEN
мой
ufw status
показывает:Status: active To Action From 22 ALLOW Anywhere 5432/tcp ALLOW Anywhere 22 (v6) ALLOW Anywhere (v6) 5432/tcp (v6) ALLOW Anywhere (v6)
Я, конечно, перезапускал Postgresql чаще, чем нет (для каждой модификации попробуйте)
- если я бегу
psql -h localhost -p 5433 -U postgres
работает нормально - также с
psql -h localhost -p 5432 -U postgres
все отлично работает
Но ничто другое, что я делаю, не работает для pgAdmin.
Кто-нибудь может пролить свет на это? Что мне не хватает? Что еще я мог попробовать?
Спасибо Привет из Пекина! Даниил
1 ответ
Это была действительно глупая ошибка, конечно, потому что я новичок в этом:
По инструкции я ввел команду
ssh -f -L 5433:127.0.0.1:5432 username@remote-host -N
пока уже залогинен на мой сервер Linode. Это должно было быть сделано на моей локальной машине, прежде чем войти в Linode.
В противном случае мой Mac не смог бы узнать о туннеле! Так очевидно, что я не смотрю на это.