Putty Network Error: Perangkat lunak menyebabkan koneksi dibatalkan

81

Saya memiliki masalah aneh: Ketika saya menggunakan Putty dengan SSH menghubungkan ke server Linux yang di-host di VMware di Windows 7 lokal saya , saya sering mendapatkan pesan kesalahan "Network error: Software caused connection abort"dan kemudian jendela Putty SSH tidak aktif. Biasanya saya bisa login di server dengan Putty dan melakukan sesuatu, tetapi setelah waktu yang acak (sekitar satu atau dua menit) saya mendapatkan kesalahan itu. Dan kadang-kadang saya bahkan tidak bisa masuk, mendapatkan kesalahan mengatakan batas waktu.

Saya kira ada sesuatu yang salah dengan VMware Player saya, karena saya memiliki desktop Ubuntu lain yang di-host di VMware sebagai server repositori kode, dan lebih sering daripada tidak memiliki kesalahan batas waktu ketika saya melakukan pembaruan / komit SVN. Namun, saya juga kira Windows 7 memiliki beberapa kekhasan karena server Ubuntu yang sama di-host di VMware sebagai repositori kode berfungsi dengan sangat baik ketika di Windows Vista! Sepertinya semua hal buruk terjadi setelah saya pindah dari Windows XP ke Windows Vista dan kemudian Windows 7!

Apa yang bisa menjadi alasan untuk masalah ini dan bagaimana cara memperbaikinya?

Suplemen :

Saya melakukan pencarian Google dan menerapkan semua metode untuk membantu, termasuk:

  1. Aktifkan sshd TCPKeepAlive
  2. Set sshd ClientAliveIntervalke 900dan ClientAliveCountMaxke3
  3. Atur pengaturan koneksi Putty 'detik antara keepalives' ke 5.

Tapi ini semua tidak bekerja! Dan sesi SSH di Putty masih istirahat setelah kapan-kapan!

Saya mematikan firewall server Linux dan firewall klien Windows 7, tetapi proses masuk masih berjalan! Benar-benar menjengkelkan!

Sepertinya kadang-kadang saya bisa masuk, tetapi kadang-kadang waktu login habis! Saya benar-benar tidak tahu mengapa. Itu membuatku gila!

Satu hal yang harus saya sebutkan adalah bahwa ketika saya menggunakan Putty SSH terhubung ke server jarak jauh, dan semuanya OK!

Ketika saya gagal masuk, ping juga gagal! Tetapi, bagaimana itu bisa terjadi? Saya menggunakan VMware player untuk meng-host server Linux di mesin lokal saya!

Robert
sumber
Apakah Anda mendapatkan kesalahan ini saat aktif menggunakan koneksi ssh? atau setelah membiarkannya tidak aktif untuk sementara waktu?
MaQleod
1
Ini tidak aktif untuk tipu muslihat. Tetapi kadang-kadang saya bahkan tidak bisa masuk untuk waktu habis.
Robert
1
Saya akan memeriksa pengaturan batas waktu sesi untuk server SSH.
MaQleod
Tetapi lebih sering daripada tidak, saya bahkan tidak bisa login server dari dempul untuk waktu habis!
Robert
3
Apakah masalah ini terselesaikan? Saya mencoba sebagian besar solusi yang tercantum di bawah ini dan sepertinya tidak ada yang berhasil untuk saya. Ada saran lain? Saya menghadapi masalah yang sama persis seperti masalah asli oleh Robert
user682765

Jawaban:

58

Putty memiliki fitur yang mencoba untuk memperbaiki masalah ini:

Network Error: Software caused connection abort
  1. Mulai Putty
  2. Muat pengaturan koneksi Anda jika Anda menyimpannya
  3. Klik pada "Koneksi"
  4. Pada bagian yang mengatakan "Mengirim paket nol agar sesi tetap aktif", Mengubahnya menjadi 5 detik. 300 detik mungkin lebih baik jika pemadaman jaringan adalah masalah Anda, baca di bawah untuk detailnya.

masukkan deskripsi gambar di sini

Bagaimana keepalives untuk mencegah pemutusan dengan Putty:

Beberapa router jaringan dan firewall perlu melacak semua koneksi yang melaluinya. Biasanya, firewall ini akan menganggap koneksi mati jika tidak ada data yang ditransfer ke salah satu arah setelah interval waktu tertentu. Hal ini dapat menyebabkan sesi Putty ditutup secara tidak terduga oleh firewall jika tidak ada lalu lintas yang terlihat di sesi selama beberapa waktu.

Opsi keepalive ('Detik di antara keepalives') memungkinkan Anda untuk mengkonfigurasi Putty untuk mengirim data melalui sesi secara berkala, dengan cara yang tidak mengganggu sesi terminal yang sebenarnya. Jika Anda menemukan firewall Anda memutus koneksi yang tidak aktif, Anda dapat mencoba memasukkan nilai bukan nol di bidang ini. Nilai diukur dalam detik; jadi, misalnya, jika firewall Anda memutuskan koneksi setelah sepuluh menit, maka Anda mungkin ingin memasukkan 300 detik (5 menit) di dalam kotak.

Kurangi masalah menggunakan alat dempul autologin dan "layar"

Putty tidak dapat menangani wifi jelek yang kehilangan konektivitas selama beberapa menit pada suatu waktu. Cara mengatasinya adalah menggunakan autologin dan layar.

Ini bukan masalah sepele bagi dempul untuk menyinkronkan terminal Anda setelah lama kehilangan koneksi internet. Anda berisiko pria dalam serangan tengah selama pemadaman. Anda tetap harus mengautentikasi ulang diri Anda sendiri untuk memastikan. Putty tidak memaksakan itu pada Anda, itu hanya menjatuhkan Anda.

Jadi gunakan autologin agar dempul bisa masuk otomatis atas nama Anda.

  1. Hasilkan kunci pribadi dengan alat puttygen di komputer yang Anda pakai dempul.
  2. Tempelkan kunci publik di /home/youruser/.ssh/authorized_keyssisi server Anda, di server yang Anda gunakan untuk masuk dempul.
  3. Membuat kunci pribadi dapat diakses oleh dempul dalam pengaturan dempul Koneksi-> SSH-> Auth
  4. Tambahkan kunci pribadi dengan menentukan file kunci pribadi di bawah: "File kunci pribadi untuk otentikasi".
  5. Simpan pengaturan koneksi dempul.

Maka Anda akan dapat mengklik dua kali koneksi Anda melalui dempul, dan itu akan membawa Anda langsung ke terminal tanpa mengetikkan nama pengguna / kata sandi.

Jadi sekarang Anda dapat mengaitkan login ke dempul pada koneksi itu dengan kombinasi keyboard seperti F6. Jadi ketika wifi memburuk dan Anda dijatuhkan. Anda menumbuk F6 dan Anda kembali masuk.

TETAPI Anda masih kehilangan status terminal Anda! Bagaimana cara memperbaikinya? Gunakan program "layar". Buat layar baru dengan mengetikkan 'layar'. Layar baru dibuat.

Ketika Anda dikeluarkan dan masuk otomatis, Anda dapat memasang kembali layar Anda. Berikut ini adalah tutorial tentang cara melakukannya: http://www.tecmint.com/screen-command-examples-to-manage-linux-terminals/

Sulit untuk mengetik screendan menyambung kembali setiap kali Anda dijatuhkan. Jadi, Anda dapat menulis skrip yang akan "otomatis membawa Anda kembali ke layar terakhir yang tersedia" untuk membuatnya transparan.

Jadi saat terminal dempul membeku. Ini terlihat seperti ini: Anda mendengus hina, tumbuk Alt + F4 untuk menutup dempul, Tumbuk F6. Dan dalam 6 detik Anda kembali tepat di tempat Anda tinggalkan.

Solusi yang lebih baik, secara teori

Secara teori Anda bisa menghapus seluruh proses di atas ini, sehingga terminal mendeteksi kapan telah dijatuhkan, dan melakukan semua langkah di atas untuk Anda dalam memulihkan koneksi internet. Jika ada yang tahu program yang melakukan ini secara otomatis, beri tahu saya. Itu akan rapi.

Sumber:

http://the.earth.li/~sgtatham/putty/0.58/htmldoc/Chapter4.html#config-keepalive

http://rafaelwolf.com/?p=516

Eric Leschinski
sumber
Halo, saya melakukan ini, tetapi saya masih mendapatkan koneksi perangkat lunak ditutup kesalahan
tuskiomi
Selain itu, detik antara keepalives tidak dapat disimpan untuk koneksi berikutnya.
ZhaoGang
10

Memecahkan Masalah Kesalahan Jaringan Putty

Software caused connection abort

Baca apa yang dikatakan Putty tentang kesalahan tersebut

Ini adalah kesalahan umum yang dihasilkan oleh kode jaringan Windows ketika membunuh koneksi yang dibuat untuk beberapa alasan. Misalnya, itu mungkin terjadi jika Anda menarik kabel jaringan dari bagian belakang komputer yang terhubung dengan Ethernet, atau jika Windows memiliki alasan lain yang serupa untuk meyakini bahwa seluruh jaringan menjadi tidak terjangkau.

Windows juga menghasilkan kesalahan ini jika telah menyerah pada mesin di ujung koneksi yang meresponsnya. Jika jaringan antara klien Anda dan server turun dan klien Anda kemudian mencoba mengirim beberapa data, Windows akan melakukan beberapa upaya untuk mengirim data dan kemudian akan menyerah dan mematikan koneksi. Secara khusus, ini dapat terjadi bahkan jika Anda tidak mengetik apa pun, jika Anda menggunakan SSH-2 dan Putty mencoba pertukaran kunci.

(Ini juga dapat terjadi jika Anda menggunakan keepalives dalam koneksi Anda. Orang lain telah melaporkan bahwa keepalives memperbaiki kesalahan ini untuk mereka. (Ada pro dan kontra dari keepalives.))

Kami tidak mengetahui alasan mengapa kesalahan ini terjadi yang akan merepresentasikan bug di PutTY. Masalahnya adalah antara Anda, sistem Windows Anda, jaringan Anda dan sistem jarak jauh.

Coba klien SSH yang berbeda

Kemungkinan besar masalah ada di suatu tempat antara Putty dan server SSH target. Untuk memberikan bukti untuk ini, gunakan klien SSH yang berbeda seperti ( http://kitty.9bis.net ) dan lihat apakah masalahnya juga terjadi. Mungkin akan yang akan mengisolasi masalah menjauh dari Putty.

Tersangka koneksi Internet jerawatan

Masalahnya mungkin koneksi Internet jerawatan. Konektivitas Internet Memantau uptime koneksi Internet adalah cara yang baik untuk menentukan apakah ISP Anda kehilangan paket dan yang harus disalahkan karena Putty turun. Dapatkan beberapa perangkat lunak yang menguji uptime koneksi Internet. Misalnya, http://code.google.com/p/internetconnectivitymonitor/. Pemutusan yang sering dan lama dari Internet adalah pelanggaran persyaratan layanan ISP. Jika ini masalahnya, akan sulit untuk membuktikan bahwa itu kesalahan ISP, karena dukungan teknis secara otomatis menyalahkan masalah-masalah semacam ini pada komputer, OS, router, dan kabel ke rumah Anda. Jika Anda menggunakan Internet kabel dan tinggal di boonies, bisa jadi perangkat keras yang rusak di rumah tetangga Anda dapat mengirimkan listrik statis selama beberapa detik / menit saat mereka menyalakannya. Akhirnya, ada kemungkinan ada perangkat keras yang rusak di jaringan ISP ke rumah Anda. Biaya bagi ISP untuk mengganti perangkat keras mereka sangat tinggi, sehingga sering kali mereka tidak akan melakukannya kecuali ada cukup banyak pelanggan di suatu daerah untuk mempermasalahkan biaya.

Tersangka router kabel / nirkabel

Apakah Anda terhubung melalui router kabel / nirkabel? Berapa umurnya? Router Anda mungkin masalahnya. Teknologi nirkabel dan kabel yang lama bisa menjadi tua dan menjatuhkan koneksi secara sporadis dan menyalakannya kembali, menyebabkan Putty mati. Hapus komponen-komponen ini dari persamaan dan lihat apakah itu menyelesaikan masalah. Coba koneksi kabel dan / atau router lain untuk melihat apakah itu memperbaiki masalah. Saya memiliki router nirkabel Linksys yang mengalami kematian lambat dan koneksi drop dan restart mereka.

Tersangka sistem operasi yang menyediakan koneksi SSH

Komputer yang Anda sambungkan dengan SSH memiliki kebijakan selama beberapa detik untuk menjaga agar koneksi SSH tetap hidup. Jumlah ini ditetapkan rendah untuk alasan keamanan, dan Anda dapat meningkatkannya. Di mana pengaturan ini tergantung pada sistem operasi apa yang Anda gunakan yang menyediakan SSH.

Jika Anda menggunakan Putty melalui mesin virtual

Jika Anda menggunakan Putty melewati mesin virtual, mungkin ada kebijakan pada mesin virtual yang memutuskan koneksi SSH Anda ke server ketika dianggap tidak aktif. Meningkatkan nilai-nilai ini tergantung pada perangkat lunak mesin virtual dan sistem operasi yang Anda gunakan.

Jika koneksi internet buruk, koneksi klien SSH dapat diatasi:

Jika ISP Anda menyediakan koneksi yang tidak stabil maka Anda dapat membuat koneksi terputus dengan "ssh autologin". Apa yang Anda lakukan adalah menghasilkan kunci publik dan pribadi. Dan Anda memberi tahu server asing Anda untuk secara otomatis membiarkan siapa saja yang menyediakan kunci pribadi yang akurat. Itu tidak menyelesaikan masalah Anda sepenuhnya, tetapi ketika pemadaman Internet terjadi, yang Anda lakukan adalah menutup jendela, klik dua kali ikon, dan Anda segera dibawa kembali ke baris perintah folder rumah Anda tanpa memasukkan nama pengguna / kata sandi.

Ini akan membantu Anda dengan itu: Apakah ada cara untuk "masuk otomatis" di Putty dengan kata sandi?

Eric Leschinski
sumber
4

Di prompt perintah yang ditinggikan, jalankan yang berikut:

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

Jika Receive Window Auto-Tuning Levelnormal maka Anda akan mendapatkan masalah. Nonaktifkan lalu semuanya akan berfungsi seperti dulu:

C:\Windows\system32>netsh int tcp set global autotuninglevel=disabled
pengguna196773
sumber
5
dapatkah Anda menjelaskan mengapa ini berhasil / apa fungsinya?
Eiyrioü von Kauyf
3
support.microsoft.com/kb/947239 di sini adalah deskripsi dari ini
bksi
Tidak membantu dalam kasus saya.
reinierpost
4

Saya bekerja dengan server CentOS dari PC Windows, dan saya memiliki masalah yang sama dengan Putty. Sesi tidak bertahan lebih dari 1-5 menit. Saya mencoba bermain dengan pengaturan Putty (keepalives, dll.) Tetapi tidak membantu sama sekali.

Akhirnya saya menemukan solusi untuk kasus saya. Saya telah mencatat kesedihan TCP pada klien dan server. Saya telah menemukan bahwa selama 25-30 detik sebelum memutuskan ada beberapa transmisi ulang segmen TCP di dump klien (baik dari klien dan dari sisi server) dan akhirnya Putty mengirim RST dan menutup sesi dengan kesalahan itu. Dalam dump server saya tidak melihat segmen dari klien pada periode ini, bahkan RST. Ini berarti bahwa dari waktu ke waktu tidak ada segmen TCP dari klien yang dikirim ke server dan periode ini sekitar 30-60 detik. Saya telah mencatat kasus ini beberapa kali dan selalu ada transmisi ulang dan RST terakhir dari Putty. Mungkin suatu tempat di paket rute dijatuhkan oleh peralatan jaringan.

Untuk membuat solusi, saya telah meningkatkan jumlah maksimal transmisi data dari nilai default 5 hingga 16. Ini dapat mencegah Putty dari pemutusan terlalu cepat. Variabelnya adalah 'HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ Tcpip \ Parameters \ TcpMaxDataRetransmissions'. Saya telah menambahkan variabel ini secara manual, awalnya tidak didefinisikan dalam registrasi Windows saya. Itu memang membantu! Sekarang saya melihat bahwa Putty tergantung dari waktu ke waktu, tetapi selalu kembali bekerja.

Untuk memperbaiki masalah: 1. Catat dump TCP dan cari transmisi ulang dan RST sebelum memutuskan koneksi. 2. Jika Anda menemukan segmen transmisi ulang / RST yang sama, sesuaikan jumlah percobaan ulang di sisi server atau klien (tergantung pada sisi RST).

Hati-hati: perubahan pengaturan TCP berlaku untuk semua perangkat lunak dan OS itu sendiri.

Vadim
sumber
3

Kesalahan Jaringan kesalahan: Perangkat lunak yang menyebabkan koneksi dibatalkan dari Putty adalah akibat jika ada konflik alamat IP (dua komputer atau lebih memiliki alamat IP yang sama) pada jaringan. (Saya memiliki masalah dengan Raspberry Pi yang mendapatkan alamat IP yang sama yang ditetapkan oleh server DHCP karena beberapa perangkat / komputer jahat yang diatur secara manual untuk menggunakan alamat IP yang sama.)

Dalam kasus khusus ini bisa jadi konflik alamat IP secara lokal di komputer Windows 7 atau dengan perangkat lain di jaringan. Wireshark dapat digunakan untuk melacak kesalahan seperti ini dengan sukses.

Peter Mortensen
sumber
2

Kesalahan 10053 WSAECONNABORTED(Perangkat lunak yang menyebabkan koneksi gagal) adalah kesalahan Winsock generik yang dapat dipancarkan karena sejumlah alasan.

The penjelasan resmi mengatakan:

Kesalahan ini dapat terjadi ketika sistem jaringan lokal membatalkan koneksi, seperti ketika Winsock menutup koneksi yang dibuat setelah transmisi ulang gagal (penerima tidak pernah mengakui data yang dikirim pada soket datastream).

Alasan untuk masalah ini dapat berkisar dari kabel jaringan yang rusak hingga kehilangan konektivitas yang sederhana. Tidak mungkin menawarkan solusi tunggal.

Der Hochstapler
sumber
2

Saya memiliki masalah yang sama dengan Putty setelah menginstal router WLAN / 3G modem baru untuk terhubung ke Internet. Saya mencoba semua solusi tetap hidup di atas - dan semua yang ada di menu konfigurasi router saya - tidak berpengaruh.

Kemudian saya teringat sesuatu dari masa 90-an ketika saya memiliki modem telepon kabel: MTU (unit transmisi maksimum), pada dasarnya ukuran maksimum dari potongan data yang ditransfer - itu memiliki efek penting pada stabilitas koneksi.

Jadi saya memeriksa konfigurasi router WLAN saya, menemukan pengaturan MTU dan mengubahnya dari nilai tetap 1424 ke "Auto" (saya bermaksud mencoba nilai yang lebih kecil, tetapi "Auto" terdengar lebih baik). Setelah itu, saya tidak lagi memiliki masalah dengan Putty - koneksi sekarang sangat solid. Saya harap ini membantu setidaknya seseorang dengan masalah "Kesalahan jaringan: perangkat lunak menyebabkan koneksi dibatalkan".

Seppo Sipilä
sumber
2

Tab Koneksi: tetap hidup atur pada "5" detik dan diaktifkan

Tetapi yang lebih penting:

Koneksi -> SSH -> Kex , Maks menit sebelum merekam kembali : "2" (standarnya adalah 60).

Putty saya kehilangan kunci setelah beberapa saat, menyebabkan batas waktu. Menjatuhkan nilai itu ke "2" menit memecahkan masalah. Saya tetap terhubung tanpa batas sekarang.

Simon
sumber
1

Saya mengalami masalah yang sama baik dengan skrip WinSCP atau konsol GUI. Akhirnya saya menemukan itu terkait dengan kecepatan (kecepatan internet - server kami ada di Internet). Saya memindahkan skrip ke lokasi yang berbeda di jaringan, situs yang berbeda, dan tidak baik GUI dan Script berjalan dengan baik.

Ini sudah beres setelah banyak analisis dan penyortiran.

Arun Vai
sumber
0

Anda harus mengaktifkan TCPKeepAlivedi Linux.

Itu dijelaskan di FAQ Putty di situs web, ketika Anda mencari kesalahan ini.

pinguim007
sumber
Tetapi nilai default untuk TCPKeepAlive adalah ya. Namun, saya sudah mengaktifkannya. Tetapi batas waktu masuk sekarang adalah masalah pertama. Ada ide?
Robert
Saya mematikan firewall server linux dan firewall klien windows-7, tetapi proses masuk masih habis! Sangat menyebalkan!
Robert
Sepertinya kadang-kadang saya bisa masuk tetapi kadang-kadang login habis! Saya benar-benar tidak tahu mengapa. Itu membuatku gila!
Robert
0

Jika Mesin Virtual berjalan pada perangkat keras lokal Anda, nonaktifkan paket tetap hidup.

OCDtech
sumber
6
Bisakah Anda mengembangkan jawabannya? Mungkin memberikan instruksi untuk pengunjung masa depan?
Luke Kanada
Saya memiliki situasi yang berlawanan karena OP - VM saya adalah klien ssh yang terhubung ke host, dan klien sering terputus. Menonaktifkan keep-live tampaknya telah menyelesaikan masalah. Kenapa ya.
Raman
0

Saya sebenarnya menghadapi masalah ini berkali-kali. Saya mencari solusi menghabiskan berjam-jam tetapi tidak satupun dari mereka yang manjur. Saya membagikan solusi yang bekerja untuk saya dan saya harap ini juga akan membantu orang lain.

Saya memiliki Windows 10 sebagai host O / S dan Redhat-7 sebagai guest O / S dan VMware saya telah menjembatani koneksi. Sebagai DBA saya harus mengunjungi klien dan saya harus mengatur konfigurasi jaringan saya sesuai dengan tempat klien. Jadi, setiap kali saya meninggalkan tempat klien dan terhubung ke jaringan lain melalui nirkabel dan VM terbuka saya menghadapi masalah yang sama seperti yang dinyatakan dalam pertanyaan. Jadi saya berpikir sebentar dan memeriksa konfigurasi saya untuk LAN Ethernet dan Wireless Ethernet dan saya menemukan ketidakcocokan. Sebagai VM saya akan secara otomatis menggunakan ethernet fisik di antara dua untuk menjembatani. Jadi ketika saya mereset konfigurasi jaringan untuk LAN / Wireless Ethernet ke DHCP itu berfungsi seperti pesona dan tidak ada lagi koneksi dibatalkan. [Anda juga dapat reboot mesin host Anda setelah mengaturnya ke DHCP.]

benar sekali
sumber