SSHトンネル中にnetcatのログを確認する方法

SSHトンネル中にnetcatのログを確認する方法

3つのシステム(A-> B-> C)でSSHトンネルを実行している間、トラフィック転送にnetcatを使用しています。ホストAがホストBで実行するエージェントコマンドは次のとおりです。

/usr/bin/ssh host_B nc localhost 19999

そして、Host_B:19999とHost_C:22の間にトンネルがあります。

netcatが何をしているのか知りたいです。 netcatログファイルはどこにありますか? Aで次のプロキシコマンドを実行してみました。

/usr/bin/ssh host_B nc -vv localhost 19999 > log.txt 2>&1

ただし、常にホストAで「ssh_exchange_identification:リモートホストによって接続が閉じられました」というメッセージが表示されます。

ありがとう、

答え1

Netcatは何も記録しません。

netcatの出力をファイルにリダイレクトすると、その出力はプロセスに移動する必要があるため、設定が中断されますssh。リダイレクトを設定すると、リモートホストから送信されたデータがクライアントではなくlog.txtクライアントに送信されます。エラーのみを記録するには、を使用してください2>log.txt

netcatに送信されたすべてのデータをファイルにダンプするには、そのデータをコピーする必要があります。

unbuffer tee input.data | nc localhost 19999 | unbuffer tee output.data

関連情報