não é possível conectar-se à porta encaminhada sobre o ssh

5

Eu tenho dois servidores. O servidor 1 tem acesso a uma instância do Oracle em um servidor que eu tenho permissão para acessar, mas não para acessar via SSH. Eu gostaria de usar o encaminhamento de porta SSH para conectar do servidor 2 ao servidor 1 e de lá para a instância do Oracle. Eu defini GatewayPorts=yes e AllowTcpForwarding=yes , mas ainda sinto que algo está errado.

Para os fins desta questão, gostaria de focar simplesmente em conectar a uma instância postgres no servidor 1 (porta 5432) da porta 2 do servidor a partir de 16951.

Depois de executar:

ssh -L 16951:localhost:5432 server1 -nNT -f -g

do servidor 2, posso ver "localhost.16951" após executar netstat para verificar as portas abertas, o que me leva a acreditar que a porta está ouvindo com êxito.

Quando eu corro:

psql -U jbarton -p 16951

Recebo uma mensagem dizendo que não há porta local de escuta: 16951

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

Quaisquer comentários, respostas ou sugestões são muito apreciados.

Atualizar

Quando eu agora tento isso com o oracle, conecte-se usando: ./sqlplus W_USER/password@//localhost:16951/dbname , eu recebo este erro: ERROR: ORA-12537: TNS:connection closed

Meus arquivos oracle ora são assim:

'#tnsnames.ora
PROD2 =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 16951))
      (CONNECT_DATA =
         (SERVER = DEDICATED)
         (SERVICE_NAME = prod2)
      )
    )

E o sqlnet.ora

'# sqlnet.ora Network Configuration File Generated by Oracle configuration tools.

NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)
NAMES.LOG_DIRECTORY = /var/oracle/network/log
    
por Josh Barton 05.08.2015 / 16:40

1 resposta

5

Se você não especificar o nome do host, o psql assumirá conexões de soquete de domínio. Conforme a página man:

If you omit the host name, psql will connect via a Unix-domain socket to a server on the local host, or via TCP/IP to localhost on machines that don't have Unix-domain sockets.

Tente adicionar -h localhost à linha de comando do psql.

Quanto ao erro do Oracle, eu acho que por causa do seguinte (oracle é muito mais difícil de diagnosticar):

The ORA-12537 error sometimes relates configuration issues in the sqlnet.ora, protocol.ora and listener.ora files.  Verify that you service names match between your listener and remote client connect strings.

Portanto, sua string de conexão, incluindo localhost , está sendo rejeitada por oracle.

atualização

Se esse for um local tnsnames.ora , você tentou sqlplus W_USER@PROD2 ? (solicitará uma senha, se necessário). Talvez seja necessário definir a variável de ambiente TNS_ADMIN para o local de onde tnsnames.ora reside.

    
por 05.08.2015 / 20:08