GNU/Linux >> Belajar Linux >  >> Linux

Cara Mengatur SSH di CentOS &RHEL

SSH (Secure Shell) adalah protokol jaringan aman berdasarkan arsitektur client-server yang memungkinkan Anda mengakses komputer/server jarak jauh melalui jaringan dengan aman.

SSH banyak digunakan oleh administrator sistem untuk menghubungkan ke server jarak jauh. Hal ini membuat administrator dengan mudah mengelola server dan aplikasi dari jarak jauh dan aman dari mana saja dan kapan saja.

Dalam panduan ini, saya akan menunjukkan cara mengatur dan mengaktifkan SSH pada sistem CentOS/RHEL. Dengan mengaktifkan SSH pada sistem CentOS ini, Anda seharusnya dapat mengakses sistem ini dari komputer lain menggunakan alamat IP-nya.

Tutorial ini juga mencakup langkah-langkah untuk mengubah port SSH default, menonaktifkan login SSH untuk pengguna root, dan mengatur firewalld untuk mengamankan server SSH Anda.

Untuk menyelesaikan panduan ini, pastikan Anda telah memenuhi persyaratan berikut:

  • Sistem Linux CentOS/RHEL. Anda dapat menginstalnya di mesin fisik/perangkat keras nyata, atau menggunakan mesin virtual melalui KVM/VirtualBox, atau menggunakan penyedia cloud pihak ketiga seperti Linode (tetapi biasanya mereka sudah mengaktifkan SSH).
  • Pengguna non-root dengan hak sudo/root. Pengguna ini akan digunakan untuk memodifikasi sistem Anda. Dan pada akhirnya, pengguna ini dapat digunakan untuk masuk ke server Anda.

Menginstal Paket OpenSSH

OpenSSH adalah salah satu implementasi perangkat lunak protokol SSH yang paling populer. Ini digunakan oleh jutaan server Linux, dan menjadi bagian penting dari lingkungan server. Secara default, OpenSSH tersedia di sebagian besar repositori distribusi Linux, termasuk sistem CentOS dan RHEL.

Sebelum memulai, segarkan indeks paket Anda menggunakan pengelola paket DNF seperti di bawah ini.

sudo dnf check-update

Selanjutnya, instal paket OpenSSH pada sistem CentOS/RHEL menggunakan perintah berikut. Perintah ini akan menginstal paket server OpenSSH, serta perangkat lunak klien OpenSSH.

sudo dnf install openssh-server openssh-clients -y

Setelah instalasi OpenSSH selesai, jalankan perintah berikut untuk memulai sshd service dan mengaktifkannya untuk memulai secara otomatis saat sistem boot.

sudo systemctl enable --now sshd

Sekarang, verifikasi sshd status layanan dengan menjalankan perintah berikut.

sudo systemctl status sshd

Anda akan menerima output seperti screenshot berikut. sshd layanan active (running) .

Konfigurasi Server SSH

Secara default, konfigurasi SSH tersedia di /etc/ssh direktori, dan file konfigurasi utama adalah sshd_config . File ini berisi beberapa konfigurasi SSH dasar, seperti ListenAddress yang menentukan alamat IP dari menjalankan layanan SSH, Port untuk menyiapkan port layanan SSH, metode autentikasi, dan banyak lagi.

Di bagian ini, Anda akan mengubah konfigurasi sshd_config , lalu ubah port SSH default dan nonaktifkan login untuk pengguna root.

Pengaturan ini direkomendasikan untuk alasan keamanan, yaitu untuk meningkatkan keamanan server dan mengurangi serangan brute force terhadap server Anda.

Sekarang, buka file sshd_config menggunakan vi editor atau editor pilihan Anda.

sudo vi /etc/ssh/sshd_config

Sebelum Anda mulai mengedit file, Anda harus mengetahui bahwa baris yang diawali dengan # dan baris kosong ditafsirkan sebagai komentar.

Di bagian atas baris, ubah port SSH default dari 22 ke port pilihan Anda. Tutorial ini menggunakan port non-standar 2028 untuk SSH.

Port 2028
️Pastikan Anda memiliki pengguna non-root dengan akses sudo yang sudah diaktifkan di sistem ini. Jika tidak, jika Anda menonaktifkan login root, Anda mungkin tidak dapat login ke server Anda dari jarak jauh.

Selanjutnya, ubah opsi PermitRootLogin yes ke PermitRootLogin no . Ini akan menonaktifkan login SSH untuk pengguna root pengguna. Secara opsional, Anda dapat menambahkan # di awal baris PermitRootLogin .

PermitRootLogin no

Simpan dan tutup file.

Setelah melakukan perubahan, verifikasi konfigurasi SSH, lalu restart sshd layanan.

sshd -t
sudo systemctl restart sshd

Sekarang, Anda dapat terhubung ke server SSH Anda dengan menjalankan ssh perintah di bawah ini.

ssh [email protected] -p PORT

-p option digunakan untuk menentukan port server SSH Anda.

Di bagian ini, Anda telah menyelesaikan konfigurasi dasar untuk mengamankan server SSH dengan mengubah port SSH default dan menonaktifkan login untuk root pengguna. Selain itu, Anda telah belajar untuk terhubung ke server SSH dengan port non-standar. Selanjutnya, Anda akan menginstal dan mengkonfigurasi firewalld.

Memasang dan Mengonfigurasi Firewalld

Jika Anda menggunakan server CentOS/RHEL di internet publik, seperti server cloud, Anda mungkin perlu mengaktifkan firewall. Ini akan meningkatkan keamanan server Anda, dengan membatasi akses hanya ke layanan tertentu seperti SSH, HTTP, dan HTTPS. Pada distribusi berbasis CentOS/RHEL, firewalld adalah paket firewall default yang dapat Anda instal di sistem Anda.

Di bagian ini, Anda akan menginstal firewalld dan menyiapkan port terbukanya untuk server SSH Anda.

Untuk menginstal firewalld, jalankan dnf perintah di bawah ini.

sudo dnf install firewalld -y

Setelah instalasi firewalld selesai, mulai dan aktifkan firewalld melayani. Kemudian verifikasi statusnya dengan menjalankan perintah berikut.

sudo systemctl enable --now firewalld
sudo systemctl status firewalld

Anda akan menerima output serupa seperti tangkapan layar di bawah ini. firewalld layanan active (running) .

Untuk berinteraksi dengan firewalld, Anda dapat menggunakan perintah firewall-cmd . Ini adalah antarmuka baris perintah untuk mengelola aturan firewall. Anda dapat menggunakan firewall-cmd untuk menambah, menghapus, dan memodifikasi aturan firewalld. Dan masih banyak lagi yang dapat Anda lakukan dengan menggunakan firewall-cmd .

Sekarang, untuk menambahkan port SSH khusus ke sistem Anda, jalankan firewall-cmd perintah di bawah ini.

sudo firewall-cmd --add-port=2028/tcp --permanent

Anda akan menerima output success , yang berarti operasi berhasil dan selesai.

Contoh ini menggunakan port 2028 sebagai port SSH khusus. dan layanan SSH berjalan pada port TCP, jadi Anda perlu menentukan port dan protokol seperti 2028/tcp . Opsi --permanent membuat aturan ini secara permanen.

Selanjutnya, muat ulang aturan firewalld untuk menerapkan konfigurasi baru menggunakan perintah berikut.

sudo firewall-cmd --reload

Anda telah menambahkan port kustom SSH ke firewalld. Jalankan perintah di bawah ini untuk membuat daftar semua aturan yang diaktifkan.

sudo firewall-cmd --list-all

Sekarang Anda akan melihat daftar aturan yang diaktifkan di firewalld. Layanan SSH, Cockpit, dan dhcp diaktifkan secara default.

Untuk menghapus aturan SSH default, jalankan firewall-cmd perintah di bawah ini. Kemudian muat ulang aturan firewalld.

sudo firewall-cmd --permanent --remove-service=ssh
sudo firewall-cmd --reload

Sekarang, Anda telah menyelesaikan instalasi dan konfigurasi firewalld untuk mengamankan server SSH Anda.

Kesimpulan

Dalam panduan ini, Anda telah menyelesaikan instalasi dan konfigurasi SSH pada sistem CentOS/RHEL. Anda telah mengamankan server SSH Anda dengan mengubah port default dan menonaktifkan login untuk root pengguna. Selain itu, Anda telah menyelesaikan instalasi dan konfigurasi firewall pada sistem CentOS/RHEL untuk mengamankan server SSH.

Beri tahu kami jika Anda memiliki pertanyaan.


Linux
  1. Mengatur Server DHCP di CentOS 8 - Bagaimana Caranya?

  2. CentOS / RHEL :Cara mengkonfigurasi server DHCP

  3. CentOS / RHEL :Cara mengatur SFTP jail chroot

  1. Cara Mengatur VSFTPD di CentOS 8

  2. Cara Membuat Spanduk SSH di Server CentOS/RHEL

  3. CentOS / RHEL 7 :Cara mengatur target default (runlevel default)

  1. Cara menginstal server vnc di RHEL 8 / CentOS 8

  2. Cara menginstal Nextcloud di server RHEL 8 / CentOS 8

  3. Cara menginstal OwnCloud di server RHEL 8 / CentOS 8