私は 3 台の Raspberry Pi からなる Raspberry Pi クラスターを所有しており、それぞれが自宅のネットワーク (192.168.0.n) 上で Ubuntu Server 20.04 を実行しています。各 Raspberry Pi には、Netplan 構成を通じて割り当てられた静的 IP があります。
Ubuntu Desktop 20.04 からいずれかの Raspberry Pi に SSH 接続しようとすると、SSH ログインに長い時間がかかったり、最終的にはログインできても入力が非常に遅くなったり、応答しなくなったりします。
同じネットワーク上の PuTTYy を搭載した Windows ラップトップからこれを試してみましたが、同じ動作が発生し、最終的に次のエラーが発生しました。
ネットワーク エラー: ソフトウェアによって接続が中断されました
SSHD を実行している各 Pi で、基本的にこの Web サイトで定義されている手順に従って、 を設定しUseDNS no
、コメント アウトしましsession optional pam_systemd.so
た。/etc/pam.d/common-session
https://jrs-s.net/2017/07/01/slow-ssh-logins/
私のルーターは ISP である Sky UK から提供されています。
奇妙なのは、Android フォンに JuiceSSH をダウンロードして、各 Pi に接続し、コマンドを正常に実行できることです。
完全に困惑しています。さらにトラブルシューティングを進める方法について、ご支援やご指導をいただければ幸いです。
答え1
ssh -vvv user@host
遅延の原因を調べるには、ssh コマンドの詳細レベルを上げることができます。
この問題は複数の構成によって発生します。まず、host
ファイルを確認してください:
sudo nano /etc/hosts
127.0.0.1 という行が 1 行あるはずですが、その前にホスト名が正しいことを確認してください。ホスト名がない場合は、以下を追加します。
127.0.0.1 hostname
ホスト名がわからない場合は、次のようにして見つけることができます。
echo $HOSTNAME
保存後はサービスを再起動する必要はなく、速度が向上します。そうでない場合は、2 番目の変更を試してください。
nano /etc/ssh/sshd_config
このファイルには SSH サービス設定が含まれており、デフォルトでは、状況によっては最適ではない可能性のあるパラメータがいくつかあります。変更できるようにするには、sudo を使用することを忘れないでください ;)
X11Forwarding
データ転送速度が低下する可能性がありますが、通常はそのままにしておくのが適切ですyes
。これにより、PasswordAuthentication
接続がより簡単かつ安全になります。no
テスト用にこれらを変更して設定し、ファイルを保存します。次に、次のコマンドでサービスを再起動します。
sudo service sshd restart
コマンドの実行は速いが、ssh でのログインが遅いというケースがあり、その場合は認証に問題があります。よくある 2 つのケースを確認するには、ファイル内のUseDNS
と を確認します。これらを確認するには、次を試してください。UsePAM
sshd_config
nano /etc/ssh/sshd_config
存在する場合は次のように追加または編集します。
UsePAM no
UseDNS no
両方を同時に無効にして効果を確認し、ssh
保存後にサービスをリセットすることを忘れないでください。
改善が見られない場合は、元に戻して、htop
疑わしいプロセスが実行されていないかどうかを確認します。CPU とメモリの使用状況を確認し、それらを終了してください。
これ以上長くするつもりはありません。残念ながら問題が解決しない場合は、さらにアイデアを得るためにこのメッセージに返信してください。
答え2
Ubuntu 20.04 ラップトップから Raspberry Pi クラスター (3 つすべてに影響) への SSH セッションがワイヤレス経由でハングする原因をようやく突き止めました。ワイヤレス デバイスの電源管理をオフにします。まず、ネットワーク デバイスのステータスを一覧表示します。
sudo iwconfig
電源管理がオンになっている場合は、次のファイルで 3 を 2 に変更してオフにします。
cat /etc/NetworkManager/conf.d/default-wifi-powersave-on.conf
[connection]
wifi.powersave = 2
変更後、ラップトップを再起動する必要がありました。