SSH経由で転送されたポートに接続できません

SSH経由で転送されたポートに接続できません

2台のサーバーがあります。サーバー1は、私はアクセスできますがSSHを介してログインできないサーバーのOracleインスタンスにアクセスできます。 SSHポート転送を使用してサーバー2からサーバー1に、そこからOracleインスタンスに接続したいと思います。設定しましたが、GatewayPorts=yesまだAllowTcpForwarding=yes何か間違っているような気がします。

この質問の目的に応じて、サーバー2ポート(16951以降)からサーバー1(ポート5432)のpostgresインスタンスに接続することに焦点を当てます。

実行後:

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

サーバ 2 で開いているポート検証を"localhost.16951"実行した後、netstatポートが正常にリッスンされていることがわかります。

私が実行したとき:

psql -U jbarton -p 16951

ポートlocalhost: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"?

どんな意見、回答、提案にも感謝します。

修正する

今oracleを使用しようとしている場合は、次のように接続します。./sqlplus W_USER/password@//localhost:16951/dbname次のエラーが発生します。ERROR: ORA-12537: TNS:connection closed

私のoracle oraファイルは次のとおりです。

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

そしてsqlnet.ora

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

NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)
NAMES.LOG_DIRECTORY = /var/oracle/network/log

ベストアンサー1

ホスト名を指定しない場合、psqlはドメインソケット接続を想定します。マニュアルページによると:

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.

-h localhostpsqlコマンドラインに追加してみてください。

Oracleエラーの場合、次の理由が原因であると推測されます(Oracleは診断がより困難です)。

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.

したがって、localhostOracleは接続文字列を拒否します。

修正する

それが地域ならtnsnames.ora試してみましたかsqlplus W_USER@PROD2? (必要に応じてパスワードの入力を求められます)。環境変数をTNS_ADMIN場所に設定する必要があるかもしれませんtnsnames.ora

おすすめ記事