繰り返し発生する ssh_exchange_identification: 接続がリモート ホストによって閉じられました エラー MacOS (毎回 ssh をリセットすることによってのみ修正されます)

繰り返し発生する ssh_exchange_identification: 接続がリモート ホストによって閉じられました エラー MacOS (毎回 ssh をリセットすることによってのみ修正されます)

Google Cloud 経由で複数のリモート インスタンスを起動し、scpこれらのインスタンスにスクリプトを実行して結果scpをローカル コンピュータに返しています。最初はスムーズに進みましたが、しばらくすると (約 30 インスタンス後)、新しいインスタンスがscpファイルをコンピュータに返せなくなり、次のエラーが発生ssh_exchange_identification: Connection closed by remote hostします。このエラーは、次のコマンドでローカル コンピュータの ssh をリセットした後にのみ解消されます。

sudo launchctl unload /System/Library/LaunchDaemons/ssh.plist
sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist

根本的な問題は何ですか? また、SSH を頻繁にリセットせずにこの問題を解決するには、どうすればよいでしょうか?

答え1

sshdを実行している可能性がありますマックススタートアップス制限:

マックススタートアップス
SSH デーモンへの認証されていない同時接続の最大数を指定します。認証が成功するか、接続の LoginGraceTime が期限切れになるまで、追加の接続はドロップされます。デフォルトは 10:30:100 です。
または、コロンで区切られた 3 つの値 start:rate:full (例: "10:30:60") を指定して、ランダムな早期ドロップを有効にすることもできます。sshd(8) は、現在 start (10) の認証されていない接続がある場合、rate/100 (30%) の確率で接続試行を拒否します。確率は直線的に増加し、認証されていない接続の数が full (60) に達すると、すべての接続試行が拒否されます。

設定を変更してみてください。MacOS の場合、設定ファイルは です/private/etc/ssh/sshd_config

あるいは、サーバーへの SSH 接続をずらして、すべての接続が同時に行われないようにすることもできます。

関連情報