SSH接続時の 'Connection refused'エラーを解決するには?

自宅にUbuntu Server 10.10 32bitを設置しています。PCからPuttyでSSH接続しています。

問題は、時々、シームレスにログインできることです。しかし、時々、次のようなエラーが出ます。ネットワークエラーです。Connection refused.`

その後、何も変更せずに何度かログインしてみて、しばらく待ってからもう一度試してみます。ログインできるときもあれば、できないときもあります。私にはかなり不規則なようです。

これを解決するにはどうしたらいいですか?

Edit:

また、Puttyでは、「Network error:Software caused connection abortエラーが表示され、login as:というテキストが表示されます。

以下は ping -t の出力です。

Pinging 192.168.2.254 with 32 bytes of data:
Reply from 192.168.2.254: bytes=32 time=6ms TTL=64
Reply from 192.168.2.254: bytes=32 time=65ms TTL=6
Reply from 192.168.2.254: bytes=32 time=88ms TTL=6
Reply from 192.168.2.254: bytes=32 time=1ms TTL=64
Reply from 192.168.2.254: bytes=32 time=3ms TTL=64
Reply from 192.168.2.254: bytes=32 time=1ms TTL=64
Reply from 192.168.2.254: bytes=32 time=1ms TTL=64
Reply from 192.168.2.254: bytes=32 time=1ms TTL=64
Reply from 192.168.2.254: bytes=32 time=1ms TTL=64

ルーターのファイアーウォールをオフにしたら、すべてうまくいくようになりました。ただし、PCから外部IPを入力しても、まだWebサーバーに入ることができません。

これは、サーバー本体よりも、ネットワーク機器の問題のようです。

var/log/messagesでイーサネットのリンクアップ/ダウン(無線の場合はwlan)を確認してください。もしそうなら、ケーブルを交換してみてください。

解説 (6)

私も全く同じ問題を抱えていましたが、私の場合はIPアドレスの競合であることが判明しました。私のUbuntu VMはダイナミックアドレスを持っていましたが、別のマシン(この場合は電話機)にはDHCPサーバーが知らないスタティックIPが割り当てられていました。

DHCPサーバーから割り当てられたIPをUbuntu VMに変更するだけで、すべての接続問題が解決しました。

解説 (0)

サーバーの iptables ルールを確認してみてください。SSHの新規接続を制限するルールが設定されているようです。

次のルールでは、1分間に5回の新規接続を許可していますが、この制限を超えると、しばらくしてから新規接続が拒否されます。

-A INPUT -p tcp --dport 22 -m conntrack --ctstate NEW -m limit --limit 5/min -j ACCEPT

IPTables / Netfilter documentation](http://netfilter.org/documentation/HOWTO//packet-filtering-HOWTO-7.html#ss7.3)を見て、`limit`まで少しスクロールしてみてください

解説 (0)