Raspberry Pi で Python スクリプトを実行すると、PuTTY ネットワーク エラーが発生する

Raspberry Pi で Python スクリプトを実行すると、PuTTY ネットワーク エラーが発生する

私は Android デバイスから Raspberry Pi 上で Python スクリプトを実行しますが、3 回または 4 回は常に動作しますが、さらに実行すると、PuTTY から次のメッセージが表示されます。

Network error: Software caused connection abort

(この 3 ~ 5 回の試行中に、私は putty を監視し、putty で基本的なコマンドを入力して、ラップトップがまだ Pi に接続されているかどうかを確認します)

これをデバッグするにはどうすればいいでしょうか? ラズベリーパイの Python スクリプト、Android アプリ、あるいは何らかのネットワークの問題に問題があるのでしょうか?

ありがとう

答え1

Androidデバイスで使用しているソフトウェアがWindows版のPuTTYと同じオプションをサポートしている場合は、PuTTYでキープアライブ値を設定してみてください。セッションをロードし、繋がりカテゴリー接続が切断される可能性を減らすために、キープアライブオプションを数秒(例えば5秒)に設定してください。セッション新しい設定を保存します。次に、SSH サーバーにログインします。

PuTTY キープアライブ

また、問題が発生したときに記録される可能性のあるメッセージを SSH サーバー ログで確認したり、PuTTY でログ記録をオンにしたりすることもできます (下の画像を参照)。ただし、問題の原因を特定するのに役立つ何かがそこに表示されるかどうかはわかりません。

PuTTY ログ

あるケースでは、PuTTY を使用して特定のサーバーに接続しているときにこのメッセージを繰り返し受信しましたが、その場合、SSH サーバー ソフトウェアは Microsoft Windows システム上で実行されていましたが、サーバー側で SSH サーバー ソフトウェアを再起動するだけで問題を解決できました。

Androidデバイスで別のSSHクライアントプログラムを試すこともできます。例:コネクトボット問題が SSH クライアント ソフトウェアに依存していないかどうかを確認します。

デバッグのもう一つのオプションはインストールすることですワイヤーシャークラズベリーパイまたはtcpダンプRasbery PiでSSHトラフィックをファイルにキャプチャし、そのファイルを別のシステムに転送してWiresharkで分析することができます。Wiresharkでフィルターを設定するのフィルターを使用して SSH トラフィックのみを表示しますtcp.port==22。接続をリセットするためにサーバーから送信される RST パケットや、多数のパケット再送信など、予期しないものを探す必要があります。

関連情報