自宅にUbuntu Server 10.10 32ビットがあります。 PCからPuTTYを介してSSH接続します。
問題は、時々シームレスにログインできることです。ただし、次のようなエラーが表示される場合があります:Network error: Connection refused.
その後、何も変更せずに、数回ログインして、しばらく待ってから再試行します。ログインできる場合もあれば、できない場合もあります。私にはかなりランダムに思えます。
これを解決するにはどうすればよいですか?
編集:
また、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サーバーにアクセスできません。
これを機能させるには、Linuxにopenssh-serverをインストールする必要があります。 Ubuntuの内部IPアドレスを取得し、そのIPを使用して、ルーターのポート22(SSH)セクションでポート転送を設定します。ただし、ネットワークの外部からSSHを使用する予定がない場合、これは必須ではありません。
Openssh-serverのインストール方法は次のとおりです。
Sudo apt-get install openssh-server openssh-client
[ENTER PASSWORD]
このSSHエラーメッセージが表示されたとき、IPアドレスの競合が根本原因であることが判明しました。
上記の回答を読んだ後、IPアドレスの競合が疑われましたが、アドレスの競合が問題であるかどうかを証明する必要がありました。
この すばらしい記事 は、2つのハードウェアが同じIPアドレスを要求しているかどうかを確認するためにarp-scanを使用する方法を示しました。
私の場合、サーバーマシンの静的IPアドレスは192.168.1.42でした。arp-scanを使用してそのアドレスを確認しました。
$ Sudo apt-get install arp-scan
$ arp-scan -I eth0 -l | grep 192.168.1.42
192.168.1.42 d4:eb:9a:f2:11:a1 (Unknown)
192.168.1.42 f4:23:a4:38:b5:76 (Unknown) (DUP: 2)
案の定、上記のように競合がありました。次に、grepなしでarp-scanを実行し、.43が使用可能であることを確認し、/etc/network/interfaces
を編集して、静的IPを.42から.43に変更しました
接続の問題があるIPアドレスで arping
を使用します。これにより、各ping応答のMACアドレスが表示され、不正なMACアドレスのマスクが解除されることが期待されます。
arping 192.168.2.254
DHCPサーバー上のDHCP IPアドレスプールを確認し、DHCPプールと衝突する静的IPがデバイスにないことを確認する必要があります。
これらの手がかりは、重複するIPを示しています。
静的IPアドレスを持っていたのに、同じ問題がありました。ネットワーク上の別のサーバーに同じ(静的)IPアドレスが割り当てられていたことがわかります。 (Duh。)したがって、問題はIPアドレスの競合によって引き起こされているように見えますが、さまざまな可能性のある原因が考えられます。静的に設定しても問題が解決しない場合は、マシンをシャットダウンしてアドレスをpingしてみてください。返信があったら、同じアドレスを持っている他のものを探し始めてください。
これを行うと何が得られますか?
grep 192.168.2.25 /etc/hosts.deny
それが何かを返す場合、それを削除する必要があります。
ssh configのファイルを開きます。
Sudo nano /etc/ssh/ssh_config
港を見つける
#port 22
ポートオプションをシャープに削除
次にファイルを保存します ctrl + x サービスを再起動します
Sudo service ssh restart
これは、サーバー自体よりもネットワーク機器の問題に見えます。
イーサネットリンクのアップ/ダウン(またはワイヤレスの場合はwlan)については、/ var/log/messagesを確認してください。その場合は、ケーブルを変更してみてください。
私はこの正確な問題を確認できます:それは単純な接続の問題ではありません。イーサネットリンクは状態を変更しません。サーバーはping経由で到達可能です。 sshはときどき問題なく接続し、その後一見ランダムに接続しないか、既存のsshセッションがドロップします。これはUbuntu 10.04および11.04で発生します。 hheimbuergerの提案に続いて、サーバーに静的IPを指定しましたが、これで修正されたようです。
回避策:アダプタをDHCPから静的に変更します。
私はまったく同じ問題を抱えていましたが、私の場合はIPアドレスの競合であることが判明しました。私のUbuntu VMには動的アドレスがありましたが、別のマシン(この場合は電話)には、DHCPサーバーが知らない静的IPが割り当てられていました。
DHCPサーバーによってUbuntuに割り当てられたIPを変更するだけでVMがすべての接続の問題を修正しました。
これは、基本的に次のいずれかの理由によるものです。
arp-scanは2つの重複デバイスを表示していますが、Win8でAdvanced IPスキャナーを実行すると、すべて正常に見えます。したがって、彼らは常に同意するとは限りません。
1時間のリースのみを提供するようにルーターに指示して、すべてのリースを取り消すようにルーターを設定します。それが解消するかどうかを確認する時間を与えます。
サーバー上のiptables
ルールを確認することをお勧めします。新しいSSH接続を制限するルールがあるように思えます。
次のルールでは、1分間に5つの新しい接続が許可されます。この制限を超えると、しばらくすると新しい接続が拒否されます。
-A INPUT -p tcp --dport 22 -m conntrack --ctstate NEW -m limit --limit 5/min -j ACCEPT
IPTables/Netfilter documentation を参照して、limit
まで少しスクロールします。