SSHトンネル、トンネルの背後にあるサーバーポート情報を知る方法

SSHトンネル、トンネルの背後にあるサーバーポート情報を知る方法

私はこれを達成する方法を見つけるためにGoogleを試しましたが、見つかりませんでした。

デフォルトでは、このようなコマンドを使用して、Baschenホストを介して複数のリモートホスト用のSSHトンネルを作成しました。

ssh -L 9000:ourprodserver.domain.com:1521 \
    -L 9001:otherprodserver.domain.com:1521 \
-A -l [email protected] somebastionhost.domain.net

トンネルがアクティブになったときにローカルポートにマップされた接続の詳細をどのように知ることができますか?

つまり、このフォームのリストを作成したいのです。

L_port         Remote_host            R_port
9000       ourprodserver.domain.com   1521
9001       otherprodserver.domain.com 1521

可能ですか?

ベストアンサー1

簡単な解決策がありますが、リストのみがリストされます。現在活動中トンネル接続:SSHエスケープシーケンスを使用します。~#

トンネリングを使用しないと表示されません。

ヘルプで(アクティブSSH接続内で〜?とマークされています):

~# - 渡された接続のリスト

出力例は次のとおりです。

user@somebastionhost$ ~#
The following connections are open:
  #4 client-session (t4 r0 i0/0 o0/0 fd 9/10 cc -1)
  #5 direct-tcpip: listening port 9000 for ourprodserver.domain.com port 1521, connect from 127.0.0.1 port 48954 to 127.0.0.1 port 9000 (t3 nr0 i0/0 o0/0 fd 12/12 cc -1)

クライアント側では、開いているTCPソケットをリストして、開いているトンネル、さらには非アクティブなトンネルについて学ぶことができます。

lsof -n -p <pidof-ssh-client> -a -iTCP -a -sTCP:LISTEN

これはあなたの質問に正確には答えませんが、出発点になる可能性があります。

おすすめ記事