私は奇妙な問題を抱えています:私はローカルWindows 7上のVMwareでホストされているLinuxサーバにSSHでPuTTYを使用して接続しているとき、私はしばしば"Network error: Software caused connection abort"
というエラーが表示され、その後PuTTYのSSHウィンドウが非アクティブになっています。通常はPuTTYでサーバにログインして何かをすることができるのですが、ランダムな時間(1~2分程度)の後にこのエラーが出ます。また、時々、タイムアウトというエラーが出てログインできないこともあります
コードリポジトリサーバとしてVMwareでホストされている別のUbuntuデスクトップがあり、SVNの更新/コミットを行うとタイムアウトエラーが発生することが多いので、VMware Playerに何か問題があるのだと思います。しかし、私はまた、コードリポジトリとしてVMwareでホストされている同じUbuntuサーバがWindows Vista上で非常にうまく動作するので、Windows 7には何らかのクセがあるのではないかと推測しています!Windows XPからWindows Vistaに移行してからWindows 7に移行すると、悪いことばかり起こるようですね
この問題の原因は何が考えられ、どうすれば解決できるのでしょうか?
Supplement:
私はグーグル検索をして、以下のようなあらゆる方法を応用しました
- sshd
TCPKeepAlive
を有効にする - sshd
ClientAliveInterval
を900
に、ClientAliveCountMax
を3
に設定します - PuTTY接続の設定「seconds between keepalives」を
5
に設定します
しかし、これらはすべて動作しません。そして、PuTTYでのSSHセッションは、いつまで経っても切れません
LinuxサーバーのファイアウォールとWindows7クライアントのファイアウォールをオフにしても、ログインがタイムアウトしたままです。それは本当に迷惑です!
たまにログインできるようですが、たまにログインがタイムアウトすることがあります。私は本当に理由がわかりません。それは私を狂わせる!
一つだけ言っておくと、PuTTY SSHでリモートサーバーに接続しているときに、すべてOK!ということです
ログインに失敗したら、pingも失敗した!しかし、どうしてこうなるのでしょうか?ローカルマシン上のLinuxサーバをVMware Playerでホストしています
88 Robert 2011-06-09
Windows XPまたはそれ以前のオペレーティングシステムのみ
この回答を書いたのは9年前のWindows XPで、Puttyのソフトウェアは21年前のものなので、この回答は歴史的な意味で参考になります。Windowの現在のスマートフォンベースのZune-OS for Desktopは、有料のAzure Vendorツールスタックの一部ではないすべての出入り口のポイントを離れてイライラさせることを追求して、ネットワークレベルでPuttyを壊しました
Puttyには、この問題を解決しようとする機能があります
Network Error: Software caused connection abort
- Start Putty
- 接続設定が保存されている場合は、接続設定を読み込みます
- 接続」をクリックします
- セッションをアクティブに保つためにヌルパケットを送信する」の部分を5秒に変更しました。ネットワーク障害が問題になっている場合は、300秒の方が良いかもしれませんが、詳細は以下を参照してください
Puttyで断線しないようにするKEEPALIVEの方法
一部のネットワークルータやファイアウォールは、それらを介したすべての接続を追跡する必要があります。通常、これらのファイアウォールは、一定の時間間隔が経過してもどちらの方向にもデータが転送されない場合、接続が死んだものとみなします。これにより、しばらくの間セッションにトラフィックが見られない場合、ファイアウォールによって予期せずPuTTYセッションが閉じられてしまうことがあります
keepalive オプション (‘Seconds between keepalives’) は、実際のターミナルセッションを中断させない方法で、PuTTY が一定の間隔でセッションを通してデータを送信するように設定することができます。ファイアウォールがアイドル接続を切断していることがわかったら、このフィールドにゼロ以外の値を入力してみてください。値は秒単位で表示されます。例えば、ファイアウォールが10分後に接続を切断する場合は、ボックスに300秒(5分)を入力するとよいでしょう
パテのオートローグと「スクリーン」ツールを使って問題を軽減する
Puttyでは、数分間接続が切れてしまうようなくだらないwifiには対応できません。autologinとscreenを使用することが回避策です
インターネット接続が1分以上途切れた後に端末を再同期させるのは、パテにとっては些細な問題ではありません。停電時には中間者攻撃を受ける危険性があります。念のために再認証をする必要があります。Putty はそれを強制するのではなく、あなたを落としてくれるだけです
そのため、パテが自動ログインを代行できるようにautologinを使用します
- パテをしているコンピュータのputtygenツールで秘密鍵を生成します
- サーバ側の
/home/youruser/.ssh/authorized_keys
に公開鍵を貼り付けてください - パティの設定 Connection->SSH->Auth で秘密鍵にアクセスできるようにします
- 以下に秘密鍵ファイルを指定して秘密鍵を追加します。”認証用秘密鍵ファイル」の下で秘密鍵ファイルを指定して、秘密鍵を追加します
- パテの接続設定を保存します
そうすれば、パテで接続をダブルクリックすれば、ユーザー名やパスワードを入力することなく、すぐにターミナルに入れるはずです
これで、F6のようなキーボードの組み合わせで、その接続上でパテにログインをフックできるようになりました。無線LANの調子が悪くなって落ちた時にF6を押せばログイン状態に戻ります
しかし、あなたはまだあなたの端末の状態を失う!どのようにそれを修正するには?screen “プログラムを使ってください。screen」と入力して新しい画面を作成します。新しい画面が作成されます
キックアウトされて自動ログインすると、画面に再アタッチできるようになります。その方法をチュートリアルで紹介します。http://www.tecmint.com/screen-command-examples-to-manage-linux-terminals/
落とされるたびにscreen
を入力して再接続するのは面倒です。なので、「自動的に最後に利用可能な画面に戻す」スクリプトを書いて透明化してしまえばいいのです
そうしてパテ端子がフリーズするとこのようになります。あなたは軽蔑の鼻を鳴らして、Alt+F4をマッシュダウンしてパテを閉じ、F6をマッシュダウンします。6秒で元の場所に戻ります
理論的にはさらに良い解決策
理論的には、上記のプロセス全体をスクリプト化することができます, 端末はそれがドロップされたときに検出し、インターネット接続の回復であなたのために上記のすべての手順を行います.誰かが自動的にこれを行うプログラムを知っている場合は、私に知らせてください。それはきちんとしているだろう
Sources:
http://the.earth.li/‾sgtatham/putty/0.58/htmldoc/Chapter4.html#config-keepalive
64 Eric Leschinski 2012-06-25
PuTTYネットワークエラーのトラブルシューティング
Software caused connection abort
PuTTYさんのエラーについてのコメントをお読みください
これは、Windows のネットワークコードが何らかの理由で確立された接続を切断した場合に発生する一般的なエラーです。例えば、イーサネットに接続されたコンピュータの背面からネットワークケーブルを引き抜いた場合や、ネットワーク全体が到達不可能になったとWindowsが考えるその他の同様の理由がある場合に発生することがあります
Windows は、接続の相手側のマシンがそれに応答することをあきらめた場合にも、このエラーを発生させます。クライアントとサーバ間のネットワークがダウンして、クライアントが何らかのデータを送信しようとした場合、Windows はデータを送信するために何度か試行し、その後、接続を諦めて切断します。特に、SSH-2 を使用していて PuTTY が鍵の再交換を試みた場合、何も入力していなくても発生することがあります
(接続でkeepalivesを使用している場合も発生する可能性があります。他の方の報告によると、keepalivesでこのエラーが修正されたとのことです。keepalivesには賛否両論あります)
このエラーが発生した理由は、PuTTYのバグを表すものではありません。問題は、お客様、お客様のWindowsシステム、ネットワーク、およびリモートシステムの間にあります
別のSSHクライアントを試してみてください
ほとんどの場合、問題はPuTTYとターゲットのSSHサーバの間のどこかに存在します。その証拠に、(http://kitty.9bis.net) のような別の SSH クライアントを使って、問題が発生するかどうかを確認してください。おそらく、PuTTY から問題を切り離すことができるでしょう
インターネット接続の不調を疑っています
問題は、インターネット接続の不安定さかもしれません。インターネット接続 インターネット接続のアップタイムを監視することは、ISP がパケットを失っているかどうかを判断する良い方法であり、PuTTY がダウンする原因となっているかどうかを判断する良い方法です。インターネット接続の稼働時間をテストするソフトウェアを入手してください。例えば、http://code.google.com/p/internetconnectivitymonitor/インターネットからの頻繁で長い切断は、ISPのサービス要件の違反です。これがケースである場合、それは技術サポートが自動的にあなたのコンピュータ、OS、ルータ、およびあなたの家への配線上の問題のこれらの種類のせいにするように、それがISPの障害であることを証明することは困難になります。あなたがケーブルインターネットを使用しており、荒野に住んでいる場合, それはあなたの隣人の家の欠陥ハードウェアは、彼らが最初にそれをオンにしたときに数秒/分のためのライン上の静的な送信される可能性があることが可能である可能性があります.最後に、それはあなたの家へのISPのネットワークに欠陥のあるハードウェアがある可能性があります。彼らのハードウェアを交換するためにISPへのコストは非常に高いです, コストを保証するために地域に十分な加入者がある場合を除き、しばしば彼らはそれをしないでしょう
有線/無線ルーターを疑う
有線/無線ルーターで接続していますか?それは何歳ですか?ルーターが問題かもしれません。古い無線/有線技術は古くなり、散発的に接続を落としたり、再起動したりしてPuTTYが死ぬ原因になることがあります。これらのコンポーネントを方程式から削除して、問題が解決するかどうかを確認してください。それが問題を解決するかどうかを確認するために、有線接続および/または別のルータを試してみてください。私はLinksys無線ルータがこの遅い死に苦しむと接続をドロップし、それらを再起動していました
SSH接続を提供しているOSを疑う
SSH で接続しているコンピュータには、SSH 接続を維持するための秒数のポリシーがあります。この数値はセキュリティ上の理由から低く設定されています。この設定がどこにあるかは、SSH を提供するオペレーティングシステムに依存します
仮想マシンを介してPuTTYを使用している場合
仮想マシンを通過する PuTTY を使用している場合、仮想マシンが非アクティブであると判断したときにサーバへの SSH 接続を切断している仮想マシンのポリシーが存在する可能性があります。これらの値を上げるかどうかは、使用している仮想マシンのソフトウェアやオペレーティングシステムによって異なります
インターネット接続が悪い場合は、SSHクライアント接続の回避策
あなたの ISP が不安定な接続を提供している場合は、「ssh autologin」を使用して切断の痛みを軽減することができます。何をするかというと、公開鍵と秘密鍵を生成します。そして、正確な秘密鍵を提供してくれた人を自動的に受け入れるように 海外のサーバに指示します。これで問題が完全に解決するわけではありませんが、インターネットの障害が発生したときには、ウィンドウを閉じてアイコンをダブルクリックするだけで、ユーザ名やパスワードを入力することなく、すぐにホームフォルダのコマンドラインに戻ることができます
これがあれば助かります。パスワードを使ってPuTTYに「自動ログイン」する方法はありますか?
11 Eric Leschinski 2012-08-20
高架下のコマンドプロンプトで、以下を実行します
C:\Windows\system32>netsh int tcp show global
Querying active state...
TCP Global Parameters
----------------------------------------------
Receive-Side Scaling State : enabled
Chimney Offload State : automatic
NetDMA State : enabled
Direct Cache Acess (DCA) : disabled
Receive Window Auto-Tuning Level : normal
Add-On Congestion Control Provider : none
ECN Capability : disabled
RFC 1323 Timestamps : disabled
Receive Window Auto-Tuning Level
が正常な場合、問題が発生します。これを無効にすれば、すべてが以前と同じように動作するはずです
C:\Windows\system32>netsh int tcp set global autotuninglevel=disabled
4 user196773 2013-02-08
Windows PCからCentOSサーバで作業していたのですが、PuTTYでも同じ問題がありました。1つのセッションが1~5分も続かなかった。PuTTYの設定(keepalivesなど)を弄ってみましたが、全く効果がありませんでした
ようやく私の場合の解決策を見つけました。クライアントとサーバの両方のTCPダンプを記録しました。切断する前の25~30秒の間に、クライアントのダンプでTCPセグメントの再送がいくつかあり(クライアント側とサーバ側の両方から)、最後にPuTTYがRSTを送信して、そのエラーでセッションを閉じることがわかりました。サーバのダンプでは、この期間にクライアントからのセグメントは見られず、RSTさえも見られませんでした。これは、クライアントからのTCPセグメントがサーバに配信されない時間があることを意味し、この期間は約30~60秒です。私はこのケースを何度か記録していますが、いつもPuTTYからの再送と最終的なRSTがありました。おそらく経路上のどこかでネットワーク機器によってパケットが落とされたのでしょう
回避策として、データ再送の最大回数をデフォルトの5回から16回に増やしました。これにより、PuTTYの高速切断を防ぐことができます。変数は’HKEY_LOCAL_MACHINE_SYSTEM\CurrentControlSet\Services\TcpipParameters\TcpMaxDataRetranmissionss’です。この変数を手動で追加したのですが、Windowsのレジストリには最初に定義されていませんでした。これで助かりました。これで、PuTTYが時々ハングアップするのがわかる
問題を修正するには: 1.切断する前にTCPダンプを記録し、再送とRSTを探します。2.2. 同じ再送/RSTセグメントが見つかった場合は、サーバ側またはクライアント側でリトライ回数を調整してください(RSTの側にもよります)
TCP 設定の変更は、すべてのソフトウェアおよび OS 自体に適用されますので、ご注意ください
4 Vadim 2013-10-29
エラー ネットワークエラー。ネットワーク上にIPアドレスの競合(2台以上のコンピュータが同じIPアドレスを持っている)がある場合、PuTTYからのソフトウェアによる接続アボートが発生しています。(私は、Raspberry Piでこの問題を起こしました。DHCPサーバによって割り当てられた同じIPアドレスを、同じIPアドレスを使用するように手動で設定された不正なデバイス/コンピュータとして取得しました。)
この特定のケースでは、Windows 7 コンピュータのローカルまたはネットワーク上の別のデバイスとの IP アドレスの競合が考えられます。Wireshark を使用して、この種のエラーをうまく追跡することができます
3 Peter Mortensen 2014-11-26
エラー 10053 WSAECONNABORTED
(Software caused connection abort.) は、一般的な Winsock エラーで、何らかの理由で発生する可能性があります
公式説明にはこう書かれています
このエラーは、データの再送に失敗した後に Winsock が確立された接続を閉じた場合など、ローカルネットワークシステムが接続を中断した場合に発生する可能性があります (受信者はデータストリームソケットで送信されたデータを認識しません)
この問題の原因は、ネットワークケーブルの不良から単純な接続性の低下まで多岐にわたります。単一の解決策を提供することは不可能です
2 Der Hochstapler 2012-08-20
私は、インターネットに接続するために新しいWLANルータ/3Gモデムをインストールした後、PuTTYで同じ問題を抱えていました。私は上記のすべてのキープアライブソリューションを試してみました – と私のルータの設定メニューにあるすべてのもの – 効果がありません
それから私は、私が固定回線の電話モデムを持っていた90年代に戻ってから何かを思い出しました:MTU(最大伝送単位)、基本的に転送されるデータチャンクの最大サイズ – それは接続の安定性に顕著な影響を持っていました
そこで、私はWLANルーターの設定をチェックし、MTU設定を見つけ、固定値の1424から “Auto “に変更しました(もっと小さな値を試すつもりでしたが、”Auto “の方がより良い音がしました)。その後、私はPuTTYでこれ以上の問題を抱えていませんでした – 接続は今では岩のようにしっかりしています。これが、少なくとも「ネットワークエラー: ソフトウェアが接続を中断させました」という問題を抱えている人の助けになることを願っています
2 Seppo Sipilä 2013-02-28
接続タブ:”5 “秒に設定されたキープアライブを有効にします
しかし、それ以上に重要なことがある
Connection -> SSH -> Kex、リキーまでの最大分数。”2″ (デフォルトは60)
私のPuTTYはしばらくするとキーを失い、タイムアウトの原因となっていました。その値を「2」分に落とすと問題が解決しました。今では無期限に接続を維持しています
2 Simon 2012-08-24
私はWinSCPスクリプトまたはGUIコンソールで同じ問題に遭遇しました。最終的に私はそれが速度(インターネットの速度 – 私たちのサーバーはインターネット上にある)に関連していることがわかりました。私は、ネットワーク内の別の場所、別のサイトにスクリプトを移動し、GUIとスクリプトの両方ではなく、うまくいった
色々と分析して整理されました
1 Arun Vai 2013-03-12
私は実際にこの問題に何度も直面していました。何時間もかけて解決策を探しましたが、どれも効果的ではありませんでした。私は私のために働いたソリューションを共有していると私はそれがまた、他の人に役立つことを願っています
私はWindows 10をホストO/Sとして、Redhat-7をゲストO/Sとして、VMwareをブリッジ接続しています。DBAとして、私はクライアントを訪問する必要があり、私はクライアントの敷地内に応じてネットワーク構成を設定する必要があります。そのため、クライアントを離れて無線で別のネットワークに接続してVMを開くと、質問と同じ問題に直面しました。そこで、しばらく考えて、LANイーサネットとワイヤレスイーサネットの設定をチェックしてみたところ、不一致が見つかりました。私のVMは自動的にブリッジングのために2つの間の物理的なイーサネットを使用します。そこで、LAN/Wireless Ethernetのネットワーク設定をDHCPにリセットすると、魅力的に動作し、接続のアボートもなくなりました。DHCPに設定した後、ホストマシンを再起動することもできます
1 dralmostright 2017-05-31
LinuxではTCPKeepAlive
を有効にする必要があります
このエラーを検索しているときに、サイト上のPuTTyのFAQで説明されています
0 pinguim007 2011-06-09
仮想マシンがローカルハードウェア上で実行されている場合は、キープアライブパケットを無効にします
0 OCDtech 2013-01-10