Ketika saya masuk ke salah satu server kantor kami (yang menjalankan Fedora 10) dari rumah, sesi saya habis setelah periode aktivitas yang cukup singkat (sekitar 5 menit). Saya sudah mencoba menggunakan TcpKeepAlive
di sisi klien, tanpa efek.
Hal yang saya tidak mengerti adalah bahwa jika saya berada di kantor di LAN perusahaan, saya dapat meninggalkan sesi tidak aktif sepanjang hari tanpa waktu habis, sehingga perilaku tampaknya tergantung pada lokasi saya.
Adakah ide mengapa ini terjadi dan bagaimana mencegah timeout ketika saya tidak di LAN? Saya menggunakan klien Terminal di Mac OSX jika itu membantu.
UPDATE - Saran Dave Drager untuk menggunakan ServerAliveInterval
set ke nol dengan TcpKeepAlive=no
bekerja untuk saya. Mengenai beberapa jawaban lain, ClientAlive
... pengaturan tidak diterima oleh klien Mac OSX SSH.
Ini mungkin karena ketika Anda terhubung dari rumah, Anda melewati firewall yang menutup sesi TCP setelah sedikit waktu. Tapi TcpKeepAlive harus menghindari ini. Apakah Anda mengaktifkan TcpKeepAlive di sisi klien atau di sisi server?
sumber
Saya mendapatkan ini sepanjang waktu di koneksi Comcast saya. Masalahnya adalah bahwa interval tetap-hidup klien SSH Anda terlalu lama untuk batas waktu yang dikonfigurasi di jalur jaringan Anda. Jika Anda menggunakan Linux, Anda dapat memodifikasi
ServerAliveInterval
danServerAliveCounter
nilainya lebih rendah dari standarnya. Nilai ini diatur dalam detik. File konfigurasi seluruh sistem ditemukan (umumnya) di/etc/ssh/ssh_config
. Mengatur keduanya DANTcpKeepAlive
seharusnya membantu menjaga koneksi Anda tetap berjalan.sumber
Seperti yang dikatakan radius, beberapa firewall keadaan penuh 'lupa' koneksi setelah waktu tertentu (biasanya dapat dikonfigurasi) dan tidak akan memungkinkan komunikasi lebih lanjut untuk koneksi tersebut; mereka mengharapkan koneksi mulai dengan TCP SYN (saya merujuk pada komunikasi SSH Anda di sini).
Ada kemungkinan lain. Jalur jaringan antara rumah dan kantor Anda mungkin mengalami kerugian (dari jenis paket). Saat Anda mencoba mengetik pada klien SSH, jika tautan Anda macet selama beberapa saat, klien mungkin menyerah dan gagal.
Konfigurasi Keepalive pada klien akan menangani kasus pertama di sini tetapi tidak dapat membantu dalam kasus kedua. Firewall biasanya ada di perimeter kantor Anda dan karenanya dapat dikonfigurasi. Itu juga akan membantu pada poin pertama.
Untuk memeriksa apakah Anda mengalami kehilangan tautan yang terputus-putus, Anda dapat tetap mengaktifkan 'ping' di latar belakang dari mesin klien Anda.
sumber
Anda juga dapat menambahkan pengaturan yang disarankan oleh orang lain sebagai default di
~/.ssh/config
file Anda , jadi Anda tidak harus meneruskannya kessh
setiap kali Anda memulai koneksi:nano ~/.ssh/config
dan tambahkan:sumber