SSH (Secure Shell) adalah sistem jaringan terenkripsi ujung ke ujung yang memungkinkan pengguna untuk mendapatkan akses jarak jauh dari klien ke server atau sistem. Karena sistem keamanan kriptografi asimetrisnya, cukup aman dan terlindungi untuk mengakses server bahkan dari jaringan klien yang tidak aman. Namun terkadang karena tidak aktif atau sinyal jaringan yang buruk, akses jarak jauh SSH dapat terputus. Apa pun alasannya, sebagai administrator Linux, menjaga sesi dan proses SSH tetap berjalan setelah pemutusan adalah tugas penting.
Alasan Mengapa Sesi SSH Terputus
Singkatnya, kesalahan proxy terowongan SSH, batas waktu jaringan, menggunakan port jaringan yang salah, atau bahkan tidak masuk ke sistem Anda sebagai pengguna root juga dapat membuat Anda terputus dari administrasi jarak jauh SSH. Dalam posting ini, kita akan membahas pertanyaan yang paling sering diajukan tentang SSH; cara menjaga sesi dan proses SSH tetap berjalan setelah pemutusan terjadi.
1. Tetap Jalankan Sesi SSH Menggunakan screen
Perintah
screen
command adalah perintah yang paling banyak digunakan dan berguna untuk administrasi SSH. screen
perintah dapat menyelesaikan masalah nama host untuk alamat IPv4 dan IPv6. Dengan fungsi root, screen
perintah dapat keluar atau menutup sesi dari ujung klien ke ujung server. Jika Anda seorang pemula di Linux SSH, berikut adalah beberapa CLI yang dapat membantu Anda menginstal dan menemukan manual screen
perintah.
Untuk Ubuntu:
$ sudo apt install screen
Untuk OpenSUSE:
$ sudo zypper install screen
Untuk Arch Linux:
- -$ sudo pacman -S screen
Untuk Red Hat Enterprise Linux:
$ sudo yum install screen
Setelah Anda selesai menginstal, mulailah memantau layar mulai sistem Anda.
$ screen $ screen --help
Setelah Anda memiliki akses, SSH ke server, Anda ingin mendapatkan akses dari jarak jauh. Jika Anda merencanakan kerja malam yang panjang dari stasiun Anda, tetapi Anda tidak ingin klien SSH Anda down, Anda dapat menggunakan screen
memerintah. Ini dapat melepaskan sesi layar Anda, tetapi jangan khawatir, tugas yang Anda mulai akan selesai.
Untuk melepaskan layar Anda, tekan Ctrl-A
lalu Ctrl-D
dari keyboard Anda. Anda dapat masuk untuk memantau kemajuan pekerjaan kapan saja dari terminal Anda. Untuk menghubungkan kembali atau terhubung dengan sesi yang sudah ada, gunakan CLI berikut.
$ screen -r screen -D -r
2. Tetap Jalankan Sesi SSH Menggunakan tmux
Alat
Tmux atau terminal multiplexer adalah alat yang sangat populer dan berguna untuk programmer dan administrator sistem yang memungkinkan pengguna untuk beralih antara program ke program di terminal yang sama. Agar sesi SSH tetap berjalan di latar belakang, tmux
bisa menjadi solusi yang sangat cepat. Itu dapat melepaskan dan memasang kembali aplikasi di mana proses tetap berjalan di latar belakang. Berikut adalah instruksi instalasi tmux
untuk distro Linux.
Untuk Arch Linux:
$ sudo pacman -S tmux
Untuk Red Hat Enterprise Linux:
$ sudo yum install tmux
Untuk Ubuntu:
$ sudo apt-get install tmux
Untuk OpenSUSE:
$ sudo zypper install tmux
Setelah menginstal tmux
, mulai tmux session
menggunakan perintah terminal. Tidak perlu banyak waktu untuk menginstal. Setelah selesai menginstal, Anda sekarang dapat memulai dengan tmux
. Untuk memulai tmux
, cukup ketik tmux di terminal.
$ tmux
Jika Anda perlu menjalankan lebih dari satu terminal multiplexer agar semua sesi SSH tetap berjalan di latar belakang, dalam hal ini, Anda mungkin menemukan kesulitan untuk beralih di antara tmux
ke tmux
. Berikut adalah baris perintah untuk beralih satu bentuk ke bentuk lainnya.
$ tmux detach $ tmux attach $ tmux attach -t 2
Untuk memeriksa semua tmux
layar menggunakan tmux list
perintah.
$ tmux ls
3. Tetap Jalankan Sesi SSH Menggunakan byobu
Alat
Alat byobu sebagian besar digunakan untuk administrasi SSH jarak jauh dan pemantauan di layar di Linux. Ini adalah perangkat lunak bersumber terbuka dan dapat digunakan bersama tmux
atau screen
alat. Anda dapat melihat status, notifikasi, dan pesan saat ini dengan byobu
alat. Padahal byobu
datang diinstal secara default dengan Ubuntu. Tetapi jika tidak, Anda dapat menginstalnya di dalam mesin Linux Anda. Untuk memeriksa apakah byobu
diinstal atau tidak di sistem Anda dengan memeriksa versi lain dari byobu.
$ byobu --version
Kemudian aktifkan byobu, ini akan membantu menjaga sesi SSH Anda berjalan di latar belakang bahkan setelah pemutusan.
$ byobu-enable
Di sini proses instalasi dijelaskan dengan CLI.
Untuk Ubuntu:
$ sudo apt install byobu
Untuk OpenSUSE:
$ sudo zypper addrepo https://download.opensuse.org/repositories/utilities/openSUSE_Leap_42.3/utilities.repo
$ sudo zypper refresh $ sudo zypper install byobu
Untuk Arch Linux:
$ yaourt -S byobu $ packer -S byobu
Untuk Red Hat Enterprise Linux:
$ sudo yum install byobu
Untuk Fedora:
$ sudo dnf install byobu
Untuk memulai dengan byobu
, cukup ketik byobu di terminal dan tekan Enter.
$ byobu
Sekarang, jika Anda menggunakan tmux
atau screen
, Anda dapat memilih dan memilih di antara salah satunya untuk kolaborasi backend.
$ byobu-select-backend
Sekarang, Anda dapat mengelola dan menjaga sesi SSH Anda berjalan di latar belakang setelah pemutusan, gunakan tombol fungsi keyboard sistem. Untuk memulai SSH bersama byobu, tekan CTRL+SHIFT+F2
dari keyboard Anda untuk mengaktifkan lingkungan SSH. Untuk memindahkan sesi SSH ke depan dan ke belakang, Anda dapat menggunakan ALT+UP
dan ALT+DOWN
.
Untuk memutuskan sesi SSH Anda, tekan F6
dari papan ketik. Sekarang, jika Anda ingin melepaskan tetapi tidak memutuskan sesi, ini dia. Untuk melepaskan sesi SSH dan tetap terhubung, tekan SHIFT+F6
. Ini satu lagi perintah keyboard tambahan untuk Anda. Untuk menjaga agar sesi layar hanya aktif dan menutup semua jendela lain, tekan ALT+F6
.
4. Tetap Jalankan Sesi SSH Menggunakan nohup
Perintah
nohup
atau perintah 'no hangup' adalah alat alternatif yang sangat berguna untuk layar atau tmux. Ini juga memungkinkan pengguna untuk menjaga sesi SSH tetap berjalan bahkan setelah mereka terputus. nohup
perintah memberitahu sistem untuk menjalankan semua proses di latar belakang dengan menghindari sinyal hang up (SIGHUP).
Untuk memeriksa nohup
manual dan opsi dari terminal Linux Anda, ketik perintah berikut di terminal dan tekan Enter.
$ nohup options
Untuk memeriksa daftar pekerjaan yang sedang aktif, gunakan -l
perintah dari terminal Anda.
$ jobs -l
Sekarang, untuk koneksi SSH, untuk menghindari koneksi terputus dan sesi Anda tetap berjalan setelah pemutusan, gunakan baris perintah nohup yang mengikuti pekerjaan Anda. Anda juga bisa mendapatkan daftar keluaran pekerjaan Anda dalam file teks dengan menggunakan perintah cat di samping perintah nohup.
$ nohup ./hello.sh $ cat nohup.out
Untuk menjalankan proses di latar belakang, Anda dapat menggunakan &
simbol tepat setelah nohup
memerintah. Seperti, jika saya ingin menguji ping untuk wordpress-408970-1286763.cloudwaysapps.com di latar belakang, baris perintahnya akan seperti baris berikut di bawah ini. Dan ketika Anda merasa pekerjaan Anda sudah selesai, untuk melihat hasilnya, gunakan pgrep
perintah.
$ nohup ping www.ubuntupit.com & $ pgrep -a ping
5. Tetap Jalankan Sesi SSH Menggunakan disown
Perintah
Jika Anda tidak memiliki hak akses root sistem, mungkin ini akan menyelesaikan masalah Anda. disown
perintah dapat membuat tugas apa pun tidak terdaftar dari log sistem Anda yang sedang berjalan. Dengan demikian, dapat menyembunyikan proses yang sedang berjalan untuk menghindari semua kesalahan auto log out atau sinyal hang up (SIGHUP). Anda sebenarnya bisa menggunakan perintah manajemen proses diswon untuk menjaga sesi SSH Anda tetap berjalan dengan menyembunyikan tugas Anda.
Untuk menghapus atau menyembunyikan tugas Anda dari pengelola tugas, gunakan perintah diswon di terminal.
$ disown <task>
Untuk memeriksa status tugas saat ini, gunakan perintah shell saat ini.
$ current shell
Anda juga dapat mengatur daftar tugas pada satu baris perintah terminal.
$ disown jobs1 $ disown jobs1 jobs2 ... jobsn
Dan untuk memeriksa daftar tugas, gunakan -l
perintah.
$ jobs -l
Untuk menghapus semua pekerjaan saat ini dari jendela, ketik -a
sintaks berikut dengan perintah disown.
$ disown -a
Untuk menghapus hanya satu atau pekerjaan yang sedang berjalan dari jendela, gunakan -r
sintaks berikut dengan perintah diswon.
$ disown -r
Sekarang untuk SSH, untuk menjalankan pekerjaan di latar belakang setelah sesi terhubung, gunakan -h
sintaksis. Proses ini dapat membuat sesi SSH Anda tetap berjalan bahkan setelah pemutusan.
$ disown -h jobID $ disown -h %2
Memperbaiki timeout
Kesalahan SSH di RHEL
Saat Anda terhubung ke SSH di Red Hat Enterprise Linux (RHEL), Anda mungkin sering mengalami masalah waktu habis dan koneksi Anda terputus. Masalah ini terjadi karena waktu respons yang tidak valid dari ujung klien atau ujung host. Di direktori root Red Hat, Anda harus menemukan dan mengedit sshd_config.txt
file untuk memecahkan masalah batas waktu ini. Setelah selesai, Anda bisa mendapatkan kembali koneksi SSH bahkan setelah terputus.
Ada di dalam sshd_config.txt
, Anda akan menemukan dua opsi bernama ClientAliveInterval
dan ClientAliveCountMax
, Anda perlu mengedit file log ini untuk memaksimalkan waktu respons server ke klien. Interval waktu habis dihitung dengan mengalikan nilai ClientAliveInterval dan ClientAliveCountMax.
Yang Anda butuhkan hanyalah mengedit durasi waktu dari kedua nilai ini sesuai dengan durasi respons sistem dan jaringan Anda. Biarkan Anda ingin memaksimalkan waktu 10 menit untuk akhir interval klien dan 5 kali untuk jumlah klien, maka registri teks Anda di dalam sshd_config.txt
filenya akan seperti di bawah ini. Kemudian, mulai ulang SSH.
ClientAliveInterval 10m ClientAliveCountMax 5
Pemikiran Terakhir
Untuk administrator sistem, menjaga sesi dan proses SSH berjalan adalah pekerjaan penting untuk memuaskan klien dan untuk memenuhi tugas. Terputus dan sesi yang sering hilang sangat mengganggu dan mengganggu. Jadi dalam postingan ini, kami telah mencoba membahas dan mengilustrasikan alasan mengapa sesi SSH terputus dan juga menjelaskan semua metode yang mungkin tentang cara menjaga sesi SSH tetap berjalan setelah pemutusan.
Jika Anda pernah mengalami kerumitan pemutusan sesi SSH dan tahu betapa menjengkelkannya hal itu, silakan bagikan pengalaman Anda dengan kami. Dan juga berikan komentar jika ada yang ingin ditambahkan atau ditanyakan terkait postingan ini di kolom komentar. Jangan lupa untuk membagikan postingan ini kepada teman-teman Anda di media sosial.