Acessando um servidor PostgreSQL remoto usando o encaminhamento de porta para outra máquina

2

Eu tento acessar um Server_A no qual o PostgreSQL está sendo executado. Este servidor está em uma rede local, é por isso que eu tenho que encaminhar a porta de Server_B que é acessível e na mesma rede.

Para acessar o postgreSQl em Server_B , posso facilmente encaminhar portas como esta:

ssh -L 54320:Server_A:5432 user@Server_B

E em outro terminal:

psql -p 54320 -d db_name -U user

Meu problema é que eu quero reproduzir a conexão feita a partir de uma máquina presente na rede de Server_B . Esta máquina pode se conectar ao banco de dados usando este comando:

psql -h Server_A -p 5432 -d db_name -U user

Eu tenho de fato problemas:

Não consigo encaminhar a porta 5432 usando o comando ssh:

Ao inserir 5432:Server_A:5432 no comando ssh para encaminhar a porta 5432, tenho este erro:

psql: could not connect to server: No such file or directory
    Is the server running locally and accepting
    connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?

Não consigo resolver o nome do host:

Em vez de encaminhar diretamente a porta de server_A , tento encaminhar a porta de Server_B para ter o argumento -h no comando psql .

ssh -L 5432:127.0.0.1:5432 user@Server_B

E:

psql -h Server_A -p 5432 -d db_name -U user

Mas aqui, o nome do host não pode ser resolvido ...

Existe alguma solução?

    
por Thibaut Guirimand 18.07.2016 / 11:52

1 resposta

2

Este comando:

ssh -L 54320:Server_A:5432 user@Server_B

parece bom, mas ao fazer isso:

psql -p 54320 -d db_name -U user

o túnel ssh não é usado, porque por padrão no Unix, psql se conecta a um soquete do domínio Unix , como sugerido pela mensagem de erro que você menciona ("... aceitando conexões no soquete do domínio Unix ...")

Você está com saudades da opção -h localhost . Experimente:

   psql -p 54320 -d db_name -U user -h localhost

Tendo estabelecido anteriormente um túnel ssh entre localhost:54320 e Server_A:5432 a Server_B , isso alcançará postgres em Server_A:5432 .

    
por 19.07.2016 / 22:57