Batas waktu idle sesi ssh


9

Mesin Solaris yang kami lakukan sebagian besar pengembangannya memiliki kebiasaan yang mengganggu dalam menentukan waktu sesi SSH. Tidak masalah apakah klien adalah desktop Ubuntu saya, desktop Solaris saya atau desktop Windows saya (dempul); faktor umum adalah mesin Solaris yang besar.

Adakah yang bisa saya lakukan untuk menghentikan hal ini terjadi? Ini menjengkelkan ketika Anda istirahat makan siang dan sesi terminal yang telah Anda buka dan konfigurasikan dengan hati-hati semuanya beku sehingga Anda harus membunuh semuanya dan membangun kembali semua konteks Anda.

Jawaban:


8

Iya. Konfigurasikan SSH untuk mengirim paket keepalive .


Kami sudah memiliki "KeepAlive Yes" di / etc / ssh / sshd_config. Itu tidak memiliki nilai ClientAliveInterval; jadi saya telah menambahkan itu dan kita akan melihat bagaimana kelanjutannya.
Andrew

1
Perlu juga dicatat bahwa Anda juga dapat melakukannya dengan cara lain. Jika Anda tidak dapat mengubah konfigurasi server, Anda bisa meminta klien ssh untuk mengirim paket keep live sebagai gantinya menggunakan ServerAliveInterval.
SpoonMeiser

Lokasi artikel itu berubah. Inilah yang sekarang: forumone.com/blogs/post/quick-tip-ssh-keepalive
John Bachir

2

Saya telah menemukan bahwa perilaku keepalive tidak berhasil. Saya mencoba menambahkan ServerAliveInterval ke skrip ~ / .ssh / config tetapi tidak cocok dengan git.

Yang akhirnya saya lakukan adalah menambahkan stempel waktu ke bilah status 'layar' saya. Ini adalah aktivitas yang cukup untuk menjaga koneksi.


Jika Anda ingin fungsi ini di luar layar (1), periksa Spinner
Drew Stephens

1

Anda dapat mengkonfigurasi Putty untuk mengirim paket tetap hidup juga.

Dalam Pengaturan, Koneksi, Detik antara keepalives.


1

Pertama, Anda perlu menentukan apakah shell Anda yang mengeluarkan Anda atau ssh. Untuk menguji, ssh ke mesin jarak jauh Anda, dan vi atau kurang file.

Jika lama kemudian Anda masih bisa bergerak kurang / vi, maka ssh baik-baik saja. Dalam hal ini, tentukan shell apa yang Anda gunakan, dan nonaktifkan timeout. Kemungkinan besar shell yang mengatur waktu Anda dan bukan SSH. Namun, beberapa firewall akan menutup sesi idle jika tetap tidak terkirim.

Administrator Solaris dapat mencegah Anda menonaktifkan batas waktu di shell Anda, dengan membuat pengaturan hanya-baca. Ini tidak mungkin, tetapi mungkin. Anda biasanya dapat menyiasatinya dengan menggunakan shell yang berbeda.


1

Jika Anda kesulitan mengkonfigurasi ulang shell Anda lagi, Anda bisa menggunakan layar GNU. Jika sesi SSH Anda habis, cukup login lagi dan sambungkan kembali dan shell Anda akan sama seperti sebelumnya.


0

Jika Anda menjalankan tcsh pada mesin Solaris, variabel autologout dapat diatur. Jika Anda menetapkan itu ke 0 (atur autologout = 0) atau hapus atur (atur autologout) itu akan menghentikan Anda logout.


0

Ini mungkin herring merah, tetapi cobalah

unset TMOUT

di prompt shell Anda. Ini tentu saja berhasil bagi saya di masa lalu, tetapi saya tidak ingat apakah itu terbatas pada arsitektur tertentu (atau kerang).



0

Anda bisa berjalan topdi terminal lain? Itu harus menghasilkan lalu lintas reguler?


0

Spinner terdengar seperti solusi sempurna untuk masalah Anda. Itu secara berkala mengirim karakter di sesi Anda untuk menjaga waktu.


-1

Saya selalu sukses dengan 'ClientAliveInterval 300' di server linux / bsd.


-1

Periksa sshdkonfigurasi Anda untuk baris seperti ini di /etc/ssh/sshd_config:

ClientAliveInterval 600
ClientAliveCountMax 0
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.