Koneksi SSH yang tiba-tiba terputus (auto-logout) adalah masalah umum bagi administrator server Linux. Biasanya terjadi saat koneksi idle terlalu lama, muncul pesan “Connection reset” atau “Timed out”, dan sesi SSH tertutup secara otomatis.
Masalah ini bukan disebabkan oleh SSH key atau autentikasi, tetapi oleh pengaturan timeout di server, client, shell, atau bahkan jaringan.
Artikel ini menjelaskan penyebabnya dan cara memperpanjang atau menonaktifkan timeout SSH dengan aman.
1. Penyebab SSH Timeout
Timeout SSH bisa terjadi karena beberapa faktor:
Contents
- 1 ✔ 1. Server SSH memutuskan koneksi
- 2 ✔ 2. Client SSH memutuskan koneksi
- 3 ✔ 3. Auto-logout dari shell Linux
- 4 ✔ 4. Jaringan atau firewall
- 5 📌 Penjelasan:
- 6 🔥 Minta timeout lebih lama?
- 7 ✔ Cek apakah TMOUT aktif:
- 8 ✔ Nonaktifkan TMOUT sementara:
- 9 ✔ Nonaktifkan permanen:
- 10 ✔ Gunakan tmux atau screen
- 11 ✔ Hindari bekerja melalui WiFi lemah
- 12 1. Atur server
- 13 2. Atur client
- 14 3. Matikan TMOUT
- 15 4. Gunakan tmux
✔ 1. Server SSH memutuskan koneksi
Dikontrol oleh parameter:
-
ClientAliveInterval -
ClientAliveCountMax
Jika server tidak menerima respons berkali-kali, ia memutus sesi.
✔ 2. Client SSH memutuskan koneksi
Laptop/PC menutup sesi idle menggunakan:
-
ServerAliveInterval -
ServerAliveCountMax
✔ 3. Auto-logout dari shell Linux
Shell Bash dapat logout otomatis melalui variabel:
-
TMOUT
✔ 4. Jaringan atau firewall
VPN drop, WiFi lemah, router memotong idle connections.
Dengan mengetahui sumbernya, kita bisa memperpanjang timeout dengan mudah.
2. Memperpanjang Timeout dari Sisi Server (sshd_config)
Ini adalah pengaturan yang paling penting.
Edit konfigurasi SSH server:
Tambah atau ubah nilai berikut:
📌 Penjelasan:
-
ClientAliveInterval 600 → server mengirim paket “ping” setiap 600 detik (10 menit)
-
ClientAliveCountMax 12 → server mentoleransi 12 kegagalan respons
➡ Total timeout = 600 × 12 = 2 jam
Setelah selesai:
🔥 Minta timeout lebih lama?
1 jam:
2 jam:
Tidak pernah timeout:
3. Memperpanjang Timeout dari Sisi Client (Laptop/PC)
Jika ingin client menjaga koneksi tetap hidup:
Edit file:
Tambahkan:
Artinya, client akan mengirim ping ke server setiap 5 menit.
Useful saat:
-
bekerja dari WiFi publik
-
memakai VPN
-
jaringan sering drop
4. Matikan Auto-Logout Shell (TMOUT)
Beberapa distro Linux memasang TMOUT default, sehingga shell logout otomatis meski SSH tetap hidup.
✔ Cek apakah TMOUT aktif:
Jika kosong → aman.
Jika muncul angka (misal 600 = 10 menit) → shell akan logout otomatis.
✔ Nonaktifkan TMOUT sementara:
✔ Nonaktifkan permanen:
Cari TMOUT di konfigurasi shell:
Hapus baris:
Reload shell:
5. Mengatasi Timeout karena Firewall atau Router
Beberapa router atau firewall memotong koneksi idle.
Solusi:
-
tingkatkan
ServerAliveInterval -
gunakan
nohupatautmux -
aktifkan keepalive TCP
Contoh:
6. Tips Menghindari Timeout Saat Bekerja Lama
✔ Gunakan tmux atau screen
Agar session tetap hidup meski SSH terputus.
Instal:
Jalankan:
Koneksi putus? Tinggal login ulang dan resume:
✔ Hindari bekerja melalui WiFi lemah
Timeout sering berasal dari jaringan tidak stabil.
7. Kesimpulan
Untuk memperpanjang timeout SSH:
1. Atur server
2. Atur client
3. Matikan TMOUT
Jika shell otomatis logout.
4. Gunakan tmux
Untuk menjaga sesi tetap stabil meski SSH putus.
Dengan pengaturan yang tepat, Anda dapat menjaga koneksi SSH tetap aktif selama yang Anda inginkan—bahkan sepanjang hari.