Mengatasi Auto Disconnect Dalam Koneksi SSH

Ketika terhubung ke server menggunakan koneksi Secure Shell (SSH), terkadang atau bahkan sering kali kita terputus (disconnect) dari koneksi tersebut. Entah karena koneksi yang kurang stabil atau konfigurasi dari server/client itu sendiri (Auto Disconnect).

Auto Disconnect pada koneksi SSH

Masalah tersebut biasanya terjadi karena konfigurasi SSH atau firewall pada server yang memberi timeout pada koneksi nya. Hal ini biasa terjadi pada koneksi yang menggunakan NAT. Dilansir dari patrickmn.com:

Many NAT firewalls time out idle sessions after a certain period of time to keep their trunks clean. Sometimes the interval between session drops is 24 hours, but on many commodity firewalls, connections are killed after as little as 300 seconds.

Jika tidak ada aktivitas jaringan, firewall akan menutup koneksi setelah beberapa menit, biasanya setelah 5 menit.

Solusi

Untuk mengatasi masalah ini, kita dapat memanfaatkan dua pengaturan SSH yaitu ServerAliveInterval. atau ClientAliveInterval.

Perbedaan

ServerAliveInterval dan ClientAliveInterval adalah sebuah opsi untuk mengirim koneksi/paket ke server setelah timeout yang ditentukan, dengan tujuan untuk mencegah pemutusan koneksi tadi. Bedanya, ServerAliveInterval merupakan konfigurasi pada client (untuk server), sedangkan ClientAliveInterval adalah konfigurasi pada server (untuk client). Disini kita akan menggunakan ServerAliveInterval, yang berarti konfigurasi diatur pada sisi client.

Contoh

Misalnya, client A terhubung ke server B menggunakan konfigurasi ServerAliveInterval ini dan mengaturnya ke 300 detik (5 menit). Jika tidak ada interaksi pengguna selama 5 menit, maka SSH akan mengirim koneksi ke server untuk menghindari pemutusan koneksi (timeout).

Selama berapa kali? Secara bawaan, koneksi dikirim sebanyak 3 kali. Anggap saja pada 5 menit pertama dan kedua masih tidak ada respon dari pengguna, maka SSH akan mengirim koneksi yang kedua. Begitu seterusnya hingga koneksi ke-3 (5 menit ketiga). Nah, pada 5 menit keempat, koneksi tidak lagi dikirim dan akan menuruti perintah firewall, yaitu menutup koneksi.

Penggunaan ServerAliveInterval

Ada beberapa cara untuk mengaplikasikan ServerAliveInterval:

1. Memasukkan Konfigurasi Pada Command

Jika semisal Anda menghubungkan ke server menggunakan perintah ini:

ssh user@Alamat-IP-VPS

Tambahkan -o ServerAliveInterval=TimeoutIntervalpada perintah di atas. Misalnya, dengan mengatur ServerAliveInterval ke 300 (5 menit), maka perintah di atas akan menjadi:

ssh -o ServerAliveInterval=300 user@Alamat-IP-VPS

Contoh

Semisal saya mempunyai sebuah NAT VPS dengan alamat IP shared 202.83.122.66 dan port 46000, lalu saya ingin mengaktifkan ServerAliveInterval=300, maka command untuk terhubung ke SSH menjadi:

ssh -o ServerAliveInterval=300 [email protected] -p 46000

Menggunakan ServerAliveInterval pada command SSH

2. Menggunakan File Konfigurasi

SSH mempunyai file konfigurasi yang digunakan untuk mengatur opsi-opsi koneksi, layaknya ServerAliveInterval ini. File konfigurasi ini terletak di /etc/ssh/ssh_config (untuk seluruh user, perlu akses root untuk mengaksesnya) dan ~/.ssh/config (untuk user saat ini).

Buka ~/.ssh/config, lalu masukkan/tambahkan kode berikut:

Host *
    ServerAliveInterval 300

Menggunakan ServerAliveInterval pada file konfigurasi

Konfigurasi di atas akan mengaplikasikan ServerAliveInterval pada seluruh koneksi SSH yang tersambung.

Kesimpulan

ServerAliveInterval dapat digunakan untuk menghindari Auto Disconnect pada koneksi SSH, dengan mengirim koneksi setelah timeout yang telah diatur.

Demikian sedikit tips mengatasi Auto Disconnect pada koneksi SSH kami. Semoga dapat membantu Anda.

Source link

Like
Like Love Haha Wow Sad Angry

Check Also

Tanggal Tua, Bahan Masak Banting Harga! Diskon hingga 57%

Hai Sahabat Sehat!! Tanggal tua gak perlu pusing, santai aja keles~ Teman Segar bisa bikin …

Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments