隣にあるサーバーに SSH で接続しようとすると、接続が拒否されるという奇妙な問題が発生し始めました。試行し続けると、最終的には接続されます。
~ $ ssh 192.168.0.10
ssh: connect to host 192.168.0.10 port 22: Connection refused
~ $ ssh 192.168.0.10
ssh: connect to host 192.168.0.10 port 22: Connection refused
~ $ ssh 192.168.0.10
ssh: connect to host 192.168.0.10 port 22: Connection refused
~ $ ssh 192.168.0.10
ssh: connect to host 192.168.0.10 port 22: Connection refused
~ $ ssh 192.168.0.10
[email protected]'s password: <--- Connected here
最初は、これはネットワーク上で何らかの DHCP によって引き起こされた IP 競合であると考えましたが、慎重に確認したところ、そうではありませんでした。
奇妙なことに、すべてがランダムで、すぐに機能することもあれば、100 回以上の試行が必要になることもあります。私のラップトップ (WiFi 経由) では、最初は機能しても、他のときは失敗することがあります。一方、有線デスクトップでは、以前は常に機能していたのに、今では同じ動作を示し始めています。
これまでにこれを経験した人はいますか? この奇妙な動作の原因を突き止めるには、サーバー上のどのログを確認すればよいでしょうか?
サーバーはUbuntu 20.04を実行しています
答え1
これがお役に立てば幸いです。私も同様の問題を抱えていました。
除外した後fail2ban
、SSH ポートへのルールをsshd_config
使用していたことがわかりました。SSH を空白で許可したら、動作するようになりました。問題は接続数が多すぎることでした。ufw
LIMIT
答え2
この「サーバー」にはパブリック SSH ポートがありますか?
MaxStartups
デフォルト設定の場合、サーバーは特定の時点で限られた数の着信接続試行のみを許可し、残りを拒否するため、誰かがサーバーにブルートフォース ログインを試みる可能性があります。
この場合に表示されるログには、 での大量の認証失敗が含まれます/var/log/auth.log
。
また、netfilter などで実装された他の侵入防止システムによって拒否される可能性もあります。
これが MaxStartups またはその他の侵入防止システムの結果であると仮定すると、通常は SSH を公開しないようにするか、公開する場合は着信アドレスを信頼できるサブセットに制限するか、VPN などを要求する必要があります。
ssh を非標準ポートに配置すると、インターネットからのプローブやブルートフォース攻撃を削減できます。