Saya gunakan ssh -p8520 username@remote_host
untuk masuk ke server jauh.
Masalah :
Itu selalu terhubung dan berfungsi dengan baik ketika saya di tempat kerja. Sayangnya, terminal membeku dalam 10 - 15 menit setelah saya terhubung dengan server jauh dari rumah.
Tidak ada laporan kesalahan / batas waktu pada konsol tetapi kursor tidak dapat bergerak lagi.
Ketika masuk wuntuk memeriksa pengguna login, beberapa pengguna login zombie ada di sana, dan saya harus membunuh mereka secara manual.
Ini sangat menjengkelkan. Ada yang bisa bantu saya?
screen
. Mungkin ini semacam masalah batas waktu.screen
membantu menjaga program tetap berjalan. Sayangnya kadang-kadang saya harus bekerja di server jarak jauh :(screen
hanya mengatakan ? Itu bisa menyelesaikan masalah koneksi yang hilang? Tidak adascreen -S screenName
? Saya selalu menggunakan layar dengan-S
dan-r
screen
. Anda sepertinya sudah tahu itu;)Jawaban:
Daemon ssh (sshd), yang menjalankan sisi-server, menutup koneksi dari sisi-server jika klien diam (yaitu, tidak mengirim informasi). Untuk mencegah kehilangan koneksi, instruksikan klien ssh untuk mengirim sinyal sign-of-life ke server sesekali.
Konfigurasi untuk ini ada di file
$HOME/.ssh/config
, buat file jika tidak ada (file konfigurasi tidak boleh dibaca dunia, jadi jalankanchmod 600 ~/.ssh/config
setelah membuat file). Untuk mengirim sinyal setiap mis. Empat menit (240 detik) ke host jarak jauh, masukkan yang berikut dalam file konfigurasi:Untuk mengaktifkan pengiriman sinyal tetap hidup untuk semua host, tempatkan konten berikut dalam file konfigurasi:
sumber
ServerAliveInterval
saat server menggunakanClientAliveInterval
. Berantakan sekali.Saya menginginkan solusi satu kali:
Menyimpannya dalam alias:
Sekarang dapat terhubung seperti ini:
sumber
Host *
&ServerAliveInterval 240
(atau menentukan nama host, jika Anda hanya menginginkannya[email protected]
seperti pada jawaban rockymonkey555? Mengatur alias tidak tampak lebih mudah dengan cara apa pun.alias ssh='ssh -o ServerAliveInterval=60'
ServerAliveInterval
untuk60
, besar. Namun menggunakan alias bash saat Anda bisa menggunakan.ssh/config
itu konyol.Bagi yang penasaran, @ edward-coast
Jika Anda ingin mengatur agar server tetap hidup , tambahkan ini ke
/etc/ssh/sshd_config
:sumber
ClientAliveInterval
untuk membiarkan server memeriksa klien hidup, atau haruskah saya membiarkan klien "ping" server denganServerAliveInterval
berulang kali? Keduanya sepertinya tidak masuk akalClientAliveInterval
pada server jika Anda ingin server untuk memutuskan koneksi mati yang tidak merespons, dan Anda dapat menyesuaikan seberapa sering dan kapan itu terjadi.Pengguna Putty FYI dapat mengatur opsi di sini
sumber
Kita dapat menjaga koneksi ssh tetap hidup dengan mengikuti konfigurasi Global
Tambahkan baris berikut ke
/etc/ssh/ssh_config
file:sumber