sshしたら以下のメッセージが出力されて接続できない。という事象になった場合、以下の設定で解決するかもしれません。
あくまでも原因の一つであり、たの原因かもしれませんが、試してみる価値はあるかもしれません。
他のユーザーでssh接続は可能でしょうか?
例えばrootや他のアカウントでssh接続を試して見てください。
もし、接続できるようであれば、ssh接続拒否されているユーザーが多くのプロセスやスレッドを
実行しており、上限に達して接続できない可能性が大です。
また、接続されているターミナルがあった場合、bashなどを起動して見てください。
以下のようなメッセージが表示されませんか?
bash : fork : retry : リソースが一時的に利用できません
bash: fork: retry: Resource temporarily unavailable
多分、ユーザーが起動可能なプロセス(スレッド)を超過しているのが原因です。
試しに、rootで接続できるのであれば、ssh接続出来ないユーザープロセスをkillして見てください。
すんなり、接続出来なかったユーザーアカウントでssh接続できると思います。
そのユーザーアカウントでログインし、以下のコマンドを実行してください。
ulimit -u
この出力で表示される値が、ユーザーが実行可能なプロセス(スレッド)数になります。
以下の手順でプロセス(スレッド)数の上限を変更します。
* soft noproc 65535 * hard noproc 65535アスタリスクの部分をユーザーアカウントを指定することができます。
ulimit -u全部見たいのであれば、
ulimit -aになります。
以上、shell request failed on channel 0 でした。