web-dev-qa-db-ja.com

ODBC sshトンネルを介した接続を確立する方法?

ファイアウォールを介してiSeries(DB2データベース)にSSHアクセスできます。 ODBCを使用してマシンのデータベースにクエリを実行しようとしています。

プロトコルがどのポートを使用するかを説明するいくつかの表を見つけましたが、この情報をどうするかわかりません。マシンにsshアクセスできる場合、odbcが使用するポートにトラフィックをリダイレクトする方法はありますか?

http://search400.techtarget.com/answer/What-TCP-ports-are-used-by-ODBC-to-connect-to-the-DB2-4

3
cabe56

したがって、PCでデータベースクライアントが実行されていると仮定すると、データベースサーバーで実行されているポートを反映するようにPCのポートを設定するsshトンネルを作成できます。次に、クライアントにローカルホストにクエリを送信するように指示します。ポートの1つ、たとえば8471にトンネルを設定する方法は次のとおりです。

ssh -L 8471:localhost:8471

この場合、「localhost」はPCではなくサーバーを指します。必要に応じて、「localhost」をサーバーのIPアドレスに置き換えることができます。

このトンネルを設定した後、PCのポート8471に「telnet」すると、データベースサーバーのポート8471に接続されます。

リスト内のポートごとにこれを繰り返す必要があります。

データベースサーバーが接続文字列に独自のホスト名を必要とする場合、問題が発生する可能性があります。その場合は、クライアントをだまして、PCのホスト名がデータベースサーバーのホスト名と同じであると思わせる必要があります。

2