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 не смог бы узнать о туннеле! Так очевидно, что я не смотрю на это.

Другие вопросы по тегам