Untuk memperjelas:Saya mencari solusi yang saya mulai sekali setelah masuk, dan kemudian saya ingin menggunakan terminal itu, pergi, kembali dua jam kemudian dan terus bekerja, tanpa mengetik apa pun sebelum pergi.
Masalahnya adalah ada sesuatu (biasanya firewall atau penyeimbang beban), yang menghentikan sesi diam. Jika Anda mengonfigurasi keepalives sesi, keepalives akan mencegah perangkat jaringan menganggap sesi sebagai tidak aktif.
Perbaikan OpenSSH Linux / Unix / Cygwin :
Perbaikan paling sederhana adalah mengaktifkan ssh client keepalives; contoh ini akan mengirimkan ssh keepalive setiap 60 detik:
ssh -o "ServerAliveInterval 60" <SERVER_ADDRESS>
Jika Anda ingin mengaktifkan ini di semua sesi Anda, letakkan ini di /etc/ssh/ssh_config
Anda atau ~/.ssh/config
:
ServerAliveInterval 60
Untuk informasi selengkapnya, lihat ssh_config
halaman manual
Perbaikan Dempul :
Simpan ini ke "Pengaturan Default" Putty Anda...
- Klik Koneksi
- Ketik 60 ke dalam "Seconds between keepalives"
Selain jawaban Mike Pennigton, saya ingin memberi tahu Anda tentang ServerAliveCountMax
juga.
ServerAliveInterval
akan mengirimkan keepalive setiap x detik (standarnya adalah 0 , yang menonaktifkan fitur ini jika tidak disetel ke yang lain).- Ini akan dilakukan
ServerAliveCountMax
kali jika tidak ada tanggapan yang diterima. Nilai defaultServerAliveCountMax
adalah 3 (lihat halaman manual ssh_config).
Contoh:Jika Anda menyetel ServerAliveInterval
hingga 60 dan tinggalkan ServerAliveCountMax
apa adanya, ini berarti keepalive hanya akan menunggu 3 * 60 = 180 seconds =
3 menit sebelum berhenti.
Untuk meningkatkan ini menjadi mis. 2 jam mencoba untuk menjaga koneksi tetap hidup, Anda dapat melakukan:
Per perintah:
Oleh karena itu Anda harus mempertimbangkan untuk mengatur
ssh -o "ServerAliveInterval 60" -o "ServerAliveCountMax 120" <SERVER_ADDRESS>
Persisten:
Untuk membuatnya persisten, tuliskan ke /etc/ssh/ssh_config
(akan berlaku di seluruh sistem) atau ~/.ssh/config
(akan berlaku hanya untuk pengguna):
ServerAliveInterval 60
ServerAliveCountMax 120
Catatan
Seperti yang ditunjukkan dengan benar oleh dislick, ini mungkin bukan yang Anda inginkan, tergantung pada situasi Anda:
- Jika Anda ingin mengakhiri sesi dengan cepat segera setelah server tidak merespons lagi, Anda harus memilih nilai yang rendah untuk
ServerAliveCountMax
. - Jika Anda lebih tertarik untuk mempertahankan koneksi yang sudah ada (misalnya Anda pergi dengan kereta api dan memiliki latensi tinggi), Anda harus memilih nilai yang lebih tinggi untuk
ServerAliveCountMax
untuk mengizinkanssh
untuk terus mencoba membangun kembali koneksi.
Lihat juga:
- unix.stackexchange.com - Apa batas waktu idle default untuk OpenSSH?
Saya menggunakan Mobaxterm dan juga menemui masalah ini. Mobaxterm juga dikirimkan dengan opsi untuk menjaga klien tetap hidup saat klien menganggur. Buka Settings -> Configuration -> SSH
. Ada bagian berjudul SSH settings
, centang opsi SSH keepalive
. Maka masalahnya akan hilang.