web-dev-qa-db-ja.com

Paramiko:SSHプロトコルバナーの読み取りエラー

最近、私はparamikoに基づいて異なるユーザー名(秘密キーのおかげ)でワークステーションに接続するコードを作成しました。

問題は一度もありませんでしたが、今日はそれがあります:SSHException: Error reading SSH protocol banner

接続でランダムに発生するため、これは奇妙です。それを修正する方法はありますか?

41
FunkySayu

「修正」の意味によって異なります。コメントで指摘されているように、根本的な原因はリソースの輻輳/不足です。そのように、それはいくつかのHTTPコードに似ています。これが通常の原因です。sshサーバーが間違ったヘッダーデータを返している可能性があります。

429 Too Many Requestsは、レート制限を使用するようクライアントに指示します。割り当てを超えた場合、APIは同様の方法で503を返すことがあります。アイデアは、後で再試行するために、遅延を伴います。

コード内でこの例外の処理を試行し、しばらく待ってから再試行できます。 transport.pyファイルを編集して、バナータイムアウトをより高い値に設定することもできます。サーバーの応答速度が重要でないアプリケーションがある場合、これを60秒に設定できます。

23
TinBane