Bagaimana membuat dempul agar tidak mematahkan sesi saya setelah beberapa waktu?


34

Setiap kali puttymenutup sesi setelah beberapa waktu jika tidak digunakan.

Tidak ada timeparameter pada dempul, jadi bagaimana saya bisa menjaga puttysesi ssh saya selalu hidup?

Jawaban:


15

Hal lain yang perlu diperiksa adalah apakah sistem Anda mengatur variabel lingkungan TMOUT. Untuk memeriksa ini, Anda cukup melakukan:

env | grep TMOUT

atau

echo $TMOUT

Jika diatur, Anda dapat mengubahnya atau tidak menyetelnya. Untuk mengubah nilainya:

export TMOUT=3600

Di mana jumlahnya adalah jumlah detik hingga Anda logout. Jika tidak, setel untuk mematikan fitur:

unset TMOUT

Catatan, mungkin administrator sistem Anda telah mengatur ini untuk alasan keamanan. Jadi, jika Anda bukan administrator sistem, Anda mungkin ingin memeriksa ini sebelum mengubah sendiri.


48

Aktifkan penyimpanan tetap SSH dengan mengubah pengaturan berikut ke nilai positif:

Halaman Koneksi dialog Konfigurasi Putty

Nilai 300 harus cukup dalam banyak kasus. (5 menit.) Hal ini menyebabkan Putty mengirimkan paket SSH null ke remote host secara berkala, sehingga sesi tidak habis.

Perhatikan bahwa kami tidak ingin SO_KEEPALIVEopsi lebih rendah pada halaman itu. Itu adalah mekanisme level yang jauh lebih rendah yang paling baik digunakan hanya ketika protokol level aplikasi tidak memiliki mekanisme keepalive sendiri. SSH melakukannya, jadi kita tidak boleh menggunakan TCP keepalives dalam kasus ini.

Ada hal-hal lain yang dapat menyebabkan koneksi terputus, tetapi ini adalah hal pertama yang solid untuk dicoba. Jika tidak berhasil, Anda perlu melihat hal-hal lain ini: Batas waktu VPN, batas waktu router, perubahan pengaturan pada server SSH jarak jauh, koneksi tidak stabil, dll.


3
Alternatifnya, jalankan sesuatu yang menghasilkan keluaran terus menerus seperti topketika Anda pergi.
LawrenceC

1
@ultrasawblade: Itu adalah memperbaiki lakban; itu hanya mengobati gejala tetapi tidak mengatasi masalah sebenarnya.
Kevin M

Apakah konfigurasi ini berlaku untuk Windows CLI? Maksud saya, alih-alih menyimpan sesi, saya membuat tautan ke putty.exe melalui kredensial masuk sebagai argumen (host putty.exe -l root -pw kata sandi), Jika tidak, apakah ada argumen untuk menerapkan opsi ini melalui CLI?
Mc Kernel

3
Ini adalah solusi yang sangat baik, terutama ketika Anda bekerja pada koneksi yang tidak stabil, dan Anda tidak perlu membuat perubahan tunggal ke server (tidak seperti solusi yang diterima).
itoctopus

Adakah yang tahu cara menentukan ini melalui cmd line?
Janac Meena

8

Selain jawaban lain, saya sarankan menjalankan screenuntuk dapat memiliki manajemen sesi bahkan jika dempul putus (koneksi mati, vpn turun, dll).


6

Periksa opsi berikut di Putty:

masukkan deskripsi gambar di sini


Sedihnya, SO_KEEPALIVE tampaknya hanya dikirim setiap beberapa jam (setidaknya secara default) sehingga nama yang lebih baik bagi mereka adalah "memeriksa apakah sudah mati" LOL
rogerdpack

3

Jalankan saja ini pada dempul Anda ini, pastikan, untuk mengaktifkan sesi Anda setiap 10 menit.

 while true; do date; sleep 600; done

Saya selalu menjalankan ini di server saya dan tidak berfungsi.
Cokedude

1

Jika tidak ada yang di atas tidak membantu,
Anda harus mengubah konfigurasi sshd sistem Anda!
PERHATIKAN, ANDA AKAN MEMBUTUHKAN ROOT ROOT UNTUK INI!

Edit sshd_config file Anda , dalam kasus saya itu ditemukan/etc/ssh/sshd_config

konten tadinya:

ClientAliveInterval 300  
ClientAliveCountMax 0

mengubah:

ClientAliveInterval 6000  
ClientAliveCountMax 3

Jangan lupa

service sshd restart


0

Di Connection>SSHmenu dempul , gunakan nilai berikut sebagai Remote command: bash --rcfile <(echo 'source ~/.bash_profile; unset TMOUT').

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.