GNU/Linux >> Belajar Linux >  >> Linux

Cara Menjaga Sesi SSH Jarak Jauh Berjalan setelah Pemutusan

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.


Linux
  1. 5 Cara untuk Menjaga Sesi dan Proses SSH Jarak Jauh Berjalan Setelah Terputus

  2. Bagaimana cara membuat daftar sesi layar yang sedang berjalan?

  3. Bagaimana membuat program terus berjalan setelah keluar dari ssh?

  1. 4 Cara Agar Perintah Tetap Berjalan Setelah Anda Keluar Dari Sesi SSH

  2. Ssh – Bagaimana Cara Menjalankan Script Segera Setelah Terhubung Melalui Ssh?

  3. Bagaimana cara menyimpan riwayat bash saya di seluruh sesi?

  1. Bagaimana Cara Menggunakan Boolean Dalam Cangkang Ikan?

  2. Bagaimana menjaga sesi SSH tetap hidup

  3. Cara memulihkan shell setelah pemutusan