Cara Setting SSH Server di CentOS 8

Cara Setting SSH Server di CentOS 8

Protokol SSH (Secure Shell) adalah protokol jaringan yang digunakan untuk melakukan remote login secara aman dari satu komputer (client) ke komputer lainnya (server).

Komunikasi jaringan yang melewati protokol SSH menjadi aman karena ada otentikasi dan enkripsi antara ke komputer yang saling berkomunikasi.

SSH merupakan tool yang wajib bagi seorang system administrator berbasis Unix-like karena dengan SSH mereka dapat melakukan administrasi system secara remote.

Selain untuk kebutuhan remote server, SSH juga dapat digunakan untuk melayani kebutuhan transfer file antara client dan server.

0.Install SSH Server

Secara default SSH server sudah terinstall di CentOS 8 meskipun yang diinstall adalah versi CentOS Minimal.

Tapi sebagai informasi untuk melakukan install SSH server di CentOS cukup menjalankan perintah install melalui dnf package manager dengan nama paket openssh-server.

Memeriksa status service SSH server.

Status SSH service
Status SSH service

1.Login ke SSH Server

Untuk melakukan login ke SSH server dari client dengan sistem operasi berbasis Unix-like kita cukup menggunakan aplikasi OpenSSH client berbasis CLI (Command Line Interface).

Informasi yang dibutuhkan untuk login yaitu username, IP address server, dan nomor port jika tidak menggunakan nomor port default SSH (22).

Misalnya login dengan user root ke server dengan IP address 192.168.123.8.

Lalu bagaimana cara melakukan remote login SSH dari sistem operasi Windows? Untuk Windows bisa menggunakan aplikasi SSH client Xshell.

2.Mengubah Nomor Port SSH

Protokol SSH menggunakan nomor port 22 secara default. Sangat disarankan untuk mengubah nomor port tersebut ke nomor lain demi keamanan.

Maksudnya demi keamanan seperti apa? Dari pengalaman menggunkan VPS, jika konfigurasi SSH masih default pasti ada saja orang atau bot yang ingin mencoba login ke server melalui SSH. Untuk itu perlu nomor port diubah ke nomor lain.

Pada gambar di bawah ini memperlihatkan jumlah gagal login ke SSH server.

Jumlah Gagal Login SSH
Jumlah Gagal Login SSH

Pertanyaan berikutnya adalah nomor berapa yang akan dipasang sebagai penggantinya? Mengenai nomor port, Internet Assigned Numbers Authority (IANA) telah menetapkan nomor port dan nama protokolnya. Nomor port dimulai dari 0-65535 dengan tiga kategori pengelompokan nomor port.

  1. Ports 0-1023 = system or well-known ports
  2. Ports 1024-49151 = user or registered ports
  3. Ports 49152-65535 = dynamic / private ports

Kalau menurut aturan, harusnya nomor pengganti yang bisa digunakan adalah 49152-65535 karena nomor port tersebut belum ada ketetapan protokol apa yang menggunakannya. Tapi dalam praktiknya selama nomor port yang ingin dipakai sebagai pengganti belum digunakan oleh service lain yang ada di server maka bisa digunakan.

Membuka file konfigurasi SSH server dengan vi text editor.

Cari baris konfigurasi #Port 22, hapus tanda komentar/hashtag (#), ubah nomor 22 ke 49152.

Konfigurasi nomor port SSH
Konfigurasi nomor port SSH

Setiap selesai mengubah konfigurasi service jangan lupa restart service dan cek statusnya apakah service running atau tidak.

Uji coba login ke SSH server dengan custom port.

Jika melakukan login SSH dengan port default tampil pesan error seperti di bawah ini.

3.Blokir User Root

Pengamanan berikutnya yang perlu dilakukan yaitu user root (user superuser / administrator di Unix-like) diblokir dari login SSH.

Lalu kalau root tidak bisa login pakai user apa dong? Solusinya dengan membuat user baru, user ini kemudian dimasukkan ke dalam group wheel agar bisa menjalankan perintah root atau beralih ke user root secara permanen.

Pembahasan mengenai user root dapat dibaca di Cara Menambah User dan Akses root di CentOS 8.

Buka kembali konfigurasi SSH server dan ubah konfigurasi PermitRootLogin.

3.Login dengan SSH Key

Pengamanan berikutnya yaitu login tidak boleh pakai password tetapi dengan dengan key. Kita membuat key di client, kemudian public key dikirim ke server.

Membuat SSH key.

Membuat SSH Key
Membuat SSH Key
  • /home/musa/.ssh/key-centos8 = private key
  • /home/musa/.ssh/key-centos8 = public key

Copy SSH key ke server.

Metode lain copy SSH key ke server.

Kalau di server belum ada direktori .ssh dalam direktori home, tambahkan perintah mkdir.

Selanjutnya mengaktifkan login dengan SSH key dengan mengubah konfigurasi SSH server.

Login dengan SSH key.

4.Transfer File

Transfer file antara client dan server melalui protokol SSH bisa menggunakan scp (secure copy) dan sftp (secure ftp).

scp file ke server.

scp file dari server.

Untuk sftp kita bisa menggunakan aplikasi client FTP/SFTP berbasis GUI FileZilla.

selamat mencoba 🙂

2 Comments

  1. kalo ngerubah port ssh default dari 22 ke 49152 apa tetap bisa aktifkan firewall? karena ketika setting firewall ke ssh nggak bisa diedit portnya.

Leave a Reply

Your email address will not be published. Required fields are marked *