não pode se conectar via SSH a um banco de dados Postgresql remoto

4

Estou tentando conectar-me via pgAdmin3 GUI a um banco de dados Postgresql em um servidor remoto myHost na porta 5432.

Lado do servidor:

  • Eu tenho um myUser do Unix que corresponde a uma função do postgresql.
  • pg_hba.conf é:
    local toda toda a confiança hospedar tudo 127.0.0.1/32 trust

Lado do cliente:

  • Eu abro um túnel ssh: ssh -L 3333: myHost: 5432 myUser @ myHost
  • Eu me conecto ao servidor via pgAdmin3 (ou via psql -h localhost -p 3333).

Recebo a seguinte mensagem de erro: o servidor fechou a conexão inesperadamente     Isso provavelmente significa que o servidor terminou anormalmente     antes ou durante o processamento do pedido.

Eu tentei acessar um banco de dados específico com a função de superusuário usando psql -h localhost -p 3333 --dbname = myDB --user = mySuperUser sem mais sucesso.

O que eu esqueci na configuração?
Obrigado

    
por user44744 02.06.2010 / 16:26

3 respostas

2

Verifique se o host remoto permite o tunelamento. Você pode verificar com o cliente se o túnel é recusado com:

ssh -v -L 3333:myHost:5432 myUser@myHost
    
por 02.06.2010 / 16:29
5

No meu caso, o problema era que o túnel terminava em um endereço IPv6:

ssh -L 5434:localhost:5432 user@server

Foi o suficiente para substituir o localhost pelo endereço que eu supus que fosse usado anteriormente:

ssh -L 5434:127.0.0.1:5432 user@server

15 minutos da minha vida pelo ralo. :) Espero que isso poupa o tempo de outra pessoa ...

    
por 01.11.2012 / 00:13
2

Parece que você precisa adicionar permissões para o seu usuário acessar postgresql não localmente.

Sei que parece que, ao criar o túnel, você está se conectando localmente, mas provavelmente não está acessando-o por loopback / localhost.

Você provavelmente precisará adicionar uma linha ao pg_hba.cong que daria um exemplo, mas estou no meu telefone, desculpe

    
por 02.06.2010 / 19:39