bagaimana cara membuat koneksi dempul ssh tidak pernah habis saat pengguna menganggur?

36

Saya memiliki server Ubuntu 12.04 yang saya beli, jika saya terhubung dengan dempul menggunakan ssh dan pengguna dempo sudoer terputus oleh server setelah beberapa waktu jika saya menganggur

Bagaimana cara mengkonfigurasi Ubuntu agar koneksi ini tetap hidup tanpa batas waktu?

David MZ
sumber

Jawaban:

47

Jika Anda pergi ke pengaturan dempul Anda -> Koneksi dan mengatur nilai "Detik antara keepalives" hingga 30 detik ini akan menyelesaikan masalah Anda.

Konfigurasi Putty

das Keks
sumber
2
?????? "0 untuk mematikan" atau 30 untuk mematikan ????????? Saya pikir dia harus memasukkan 0 bukannya 30!
kokbira
1
Tidak, ini waktunya di antara kenang-kenangan. Jika Anda menetapkan ke 0, tidak ada keepalives yang dikirim tetapi Anda ingin dempul mengirim keepalives agar koneksi tetap hidup.
das Keks
1
Kenapa 30 detik? Dia mengatakan tidak pernah kehabisan waktu jadi seharusnya "9999999999999"?
NoName
1
@NoName Karena pengaturannya adalah untuk "interval keepalive". Itu berarti ia mengirim "ping" setiap 30 detik untuk mencegah koneksi dari waktu habis.
das Keks
1
Bagi saya itu berfungsi tanpa kotak centang tcp. Karena koneksi tcp digunakan untuk mengirim "paket nol", mungkin tidak perlu ada tcp keepalive tambahan. Jika koneksi idle tcp terbunuh oleh router atau firewall dalam beberapa detik, kotak centang ini dapat membantu (atau mengatur detik antara keepalives menjadi 5 atau bahkan 1).
das Keks
10

Selain jawaban dari "das Keks" ada setidaknya satu aspek lain yang dapat mempengaruhi perilaku ini. Bash (biasanya shell default pada Ubuntu) memiliki nilai TMOUTyang mengatur (nilai desimal dalam detik) setelah waktu sesi shell idle akan habis dan pengguna akan keluar, yang mengarah ke pemutusan dalam sesi SSH.


Selain itu saya akan sangat menyarankan Anda melakukan sesuatu yang lain sama sekali. Atur byobu(atau bahkan hanya tmuxsendirian karena lebih unggul dari GNU screen) dan selalu masuk dan melampirkan sesi yang sudah ada sebelumnya (itu GNU screendan tmuxterminologi). Dengan cara ini bahkan jika Anda terputus secara paksa - mari kita hadapi itu, pemadaman listrik atau gangguan jaringan selalu dapat terjadi - Anda selalu dapat melanjutkan pekerjaan Anda di mana Anda pergi. Dan itu bekerja di berbagai mesin. Jadi Anda dapat terhubung ke sesi yang sama dari komputer lain (mis. Dari rumah). Kemungkinannya bermacam-macam dan ini merupakan pendongkrak produktivitas sejati. Dan jangan lupa, terminal multiplexer mengatasi salah satu kelemahan besar dari Putty: tidak ada antarmuka tab. Sekarang Anda mendapatkan "tab"screentmux

apt-get install tmux
apt-get install byobu

Byobu adalah antarmuka yang bagus untuk kedua terminal multiplexer, tetapi tmuxsangat nyaman sehingga menurut saya itu usang byobusebagian besar. Jadi rekomendasi saya akan tmux.

Juga mencari "dotfiles", khususnya tmux.confdan .tmux.confdi web untuk banyak penyesuaian yang baik untuk Anda mulai.

0xC0000022L
sumber
6

Pergi ke opsi Putty -> Koneksi

  1. Ubah nilai default untuk "Detik antar keepalives (0s untuk mematikan)"
    • ubah dari 0s menjadi 60s (1 menit) - Ini bervariasi ... kurangi jika 1 menit tidak membantu
  2. Centang kotak "Aktifkan TCP_keepalives (opsi SO_KEEPALIVE)".
  3. Akhirnya simpan pengaturan untuk sesi
Rajesh
sumber
0

Saya menjaga sesi Putty saya tetap hidup dengan memonitor cron log

tail -f /var/log/cron

Saya ingin sesi Putty hidup karena saya proksi melalui kaus kaki.

Francis Suan
sumber
0

Batas waktu 30 detik tidak pernah berhasil bagi saya, jadi saya mencoba bermain dengan sedikit dan menghasilkan solusi dengan menambah batas waktu menjadi 240 (4 menit), sekarang berfungsi seperti pesona

shahnshah
sumber