Inilah yang harus dilakukan ketika koneksi SSH Anda di Linux menjadi tidak responsif dan penekanan tombol tidak berfungsi.
Anda mungkin mengetik di sesi SSH jarak jauh, dan tiba-tiba, tidak terjadi apa-apa. Sistem sepertinya tidak merespons penekanan tombol Anda. Apa pekerjaanmu?
Inilah alasannya, cara keluar dari sesi SSH yang tidak responsif, dan mengapa Anda mungkin ingin beralih ke Mosh.
Apa Penyebab Sesi SSH Membeku?
Alasan utama sesi SSH terhenti adalah koneksi jaringan terputus. Sinyal Wi-Fi bisa turun, atau Anda mungkin membiarkan komputer Anda tertidur. Ini paling umum terjadi pada laptop. Anda mungkin menutup penutup laptop sambil lupa bahwa Anda masih login melalui SSH.
SSH awalnya dirancang pada era sebelum orang rutin menggunakan laptop. SSH bekerja lebih baik melalui jaringan kabel.
1. Hentikan Dengan Urutan Escape
Jika sesi SSH Anda terhenti, coba gunakan urutan escape. Urutan escape memungkinkan Anda mengirim sinyal ke klien SSH, bukan ke mesin jarak jauh. Urutan escape diawali dengan karakter escape. Secara default pada klien OpenSSH, ini adalah
gelombang pasang (~) karakter.Untuk keluar dari klien SSH, Anda dapat menekan tombol tilde lalu periode (.) kunci.
Anda juga dapat mengubah karakter escape jika Anda mau. Anda dapat menentukan karakter escape baru dengan -e pilihan di baris perintah. Anda juga dapat mengubahnya secara permanen dengan mengatur EscapeChar pilihan di Anda .ssh/config file di direktori home Anda di mesin lokal.
2. Menggunakan Perintah membunuh
Jika menggunakan escape sequence tidak berhasil, Anda dapat mencoba mematikan klien SSH. Untuk menemukan ID proses (PID) sesi Anda, kirimkan perintah ps melalui grep:
ps aux | grep ssh
Argumen "aux" pada ps berarti "daftar setiap proses pada sistem, tidak peduli milik siapa atau apakah proses tersebut memiliki terminal pengendali atau tidak."
Jika Anda memiliki beberapa sesi, Anda dapat memilih sesi yang dibekukan karena daftar tersebut akan menampilkan nama pengguna dan alamat pada mesin jarak jauh tempat sesi SSH login. Setelah Anda menemukan PID sesi Anda, Anda dapat mengakhirinya dengan perintah kill:
kill [PID]
Untuk Koneksi SSH yang Lebih Baik, Gunakan Mosh!
Cara yang lebih baik untuk menghindari sesi SSH beku yang mengganggu adalah dengan menggunakan Mosh. Jika koneksi terputus, Mosh akan membiarkan Anda tetap terhubung. Ini akan mengirim pesan apa pun saat Anda terhubung kembali. Ini juga berfungsi saat Anda menidurkan mesin.
Anda juga dapat menggunakan terminal multiplexer seperti GNU Screen atau tmux untuk melanjutkan sesi SSH Anda setelah pemutusan sambungan, tetapi Mosh dan tmux bahkan lebih kuat bila digunakan bersama-sama.
Untuk menginstal Mosh di Debian dan Ubuntu:
sudo apt install mosh
Dan di Arch Linux:
sudo pacman -S mosh
Di keluarga distro Red Hat:
sudo dnf install mosh
Sekarang Anda Dapat Menghilangkan Sesi SSH yang Terjebak
Sesi SSH yang tidak responsif dapat membuat frustasi, tetapi Anda dapat menghilangkannya dengan escape sequence atau perintah kill. Mosh adalah pengganti yang lebih baik yang akan menjaga koneksi Anda tetap hidup meskipun koneksi terputus dan sistem tertidur.