リバースSSH動的ポート割り当てエラー

リバースSSH動的ポート割り当てエラー

私が実行したとき:

ssh -i mycert -R 0:localhost:80 [email protected]

そして、「myserver.com」で次のコマンドを実行します。

curl localhost:dynamicly_assigned_port

「ssh:サーバーがポートXXXXから不要なポートを送信しています」というメッセージが表示されます。しかし、以下を実行してください。

ssh -i mycert -R 20000:localhost:80 [email protected]

curl localhost:20000

うまくいきます。動的に割り当てられたポートを使用するとこのエラーが発生しますが、静的ポートを使用すると発生しない理由を学びます。私の考えでは、以前のSSHバージョンを使用してdropbear v0.52が原因ですが、別のアイデアを探しています。ありがとう

ベストアンサー1

このエラーは、クライアントが予期しなかった要求されていない転送ポートをサーバーが送信したことを意味します。簡単に言えば、dropbear SSHクライアントは、リモートサーバーが割り当てる動的に割り当てられたポート転送を処理する方法を知りません。 dropbearはそれをサポートしていません。

関連コード:

dropbearクライアントがリモート転送要求を解析し、それを追跡する転送リストに追加する場合:https://github.com/schemacs/dropbear/blob/3c4d57db86668f3cecd91566f971371fbea8684b/cli-runopts.c#L569

dropbearクライアントはremotefwds要求を繰り返して、サーバーが設定したポート転送に一致するものを見つけようとします。https://github.com/schemacs/dropbear/blob/3c4d57db86668f3cecd91566f971371fbea8684b/cli-tcpfwd.c#L214

おすすめ記事