3

SSH サーバーをテストするために、クライアント側で (Python で) テスト プログラムを作成しました。テスト プログラムは 100 個のプロセスを生成し、各プロセスはサーバーとの SSH 接続を確立します。試行に失敗すると、10 秒間待ってから再試行します。

ここに私の観察があります:

  1. 最初の 10 秒間で、成功した接続を作成できたのは 30 のクライアントだけでした。70 クライアントが拒否されました。
  2. 次の 10 秒で、別の 30 クライアントが接続を確立できました。40人が拒否されました。
  3. 次の 10 秒で、別の 30 クライアントが接続を確立できました。10 人が拒否されました。
  4. 次の 10 秒で、最後の 10 クライアントは正常な接続を作成できました。

ここに私の質問があります:

  1. 一度に 100 の安全な接続を成功させることは可能ですか? これを実現するには、どの SSH パラメータ (サーバー側) を変更する必要がありますか?
  2. Python には組み込みの SSL ライブラリがあります。SSL を使用して SSH を置き換える場合、一度に 100 の安全な接続を成功させることはできますか?

前もって感謝します

4

1 に答える 1

4

一度に100の同時接続にログインしたいと思います。どの SSH パラメータを変更する必要がありますか?

ええと、使用している ssh サーバーを指定するように依頼しましたが、応答がなかったため、openssh.

sshd_config(5)「同時に」作成できる接続の数に影響を与える可能性のある唯一の構成パラメーターはMaxStartups、ドキュメントが言う...

SSH デーモンへの非認証同時接続の最大数を指定します。認証が成功するか、接続のLoginGraceTime有効期限が切れるまで、追加の接続はドロップされます。デフォルトは 10 です。

または、コロンで区切られた 3 つの値「start:rate:full」(例:「10:30:60」) を指定することで、ランダムなアーリー ドロップを有効にすることができます。sshd(8) は、現在 "start" (10) の認証されていない接続がある場合、"rate/100" (30%) の確率で接続試行を拒否します。認証されていない接続の数が「フル」 (60) に達すると、確率は直線的に増加し、すべての接続試行が拒否されます。

...したがって、おそらくその値を少なくとも 100 に設定する必要があります。

于 2013-05-24T16:13:26.777 に答える