Juni 4, 2026
ChatGPT Image 3 Jun 2026, 07.54.10
Pelajari konfigurasi SSH Key-Based Authentication di Linux untuk meningkatkan keamanan server, mengganti login password, dan mencegah brute force.

Keamanan server merupakan salah satu aspek paling penting dalam administrasi sistem Linux. Salah satu kesalahan yang masih sering ditemukan adalah penggunaan autentikasi berbasis password untuk akses SSH.

Meskipun terlihat praktis, login menggunakan password memiliki berbagai risiko seperti serangan brute force, password lemah, hingga kebocoran kredensial.

Solusi yang direkomendasikan oleh para administrator sistem profesional adalah menggunakan SSH Key-Based Authentication. Metode ini memanfaatkan pasangan kunci kriptografi sehingga akses ke server menjadi jauh lebih aman dibandingkan password biasa.

Pada artikel ini, Anda akan mempelajari cara membuat SSH Key Pair, menghubungkan key ke server, menonaktifkan login password, hingga cara mengatasi berbagai masalah koneksi SSH yang sering terjadi.


Apa Itu SSH Key-Based Authentication?

SSH Key-Based Authentication adalah metode autentikasi yang menggunakan sepasang kunci kriptografi:

  • Private Key (kunci pribadi)
  • Public Key (kunci publik)

Private Key disimpan di komputer client dan harus dijaga kerahasiaannya.

Public Key disimpan pada server Linux yang akan diakses.

Saat melakukan koneksi SSH, server akan memverifikasi kecocokan kedua kunci tersebut. Jika cocok, akses diberikan tanpa perlu memasukkan password.

Keunggulan SSH Key Authentication

Beberapa keuntungan menggunakan SSH Key antara lain:

  • Lebih aman dibanding password
  • Sulit ditembus brute force attack
  • Mendukung otomatisasi script
  • Mempercepat proses login
  • Cocok untuk administrasi server skala besar
  • Mendukung integrasi dengan Git dan DevOps

Persiapan Sebelum Konfigurasi

Pastikan Anda memiliki:

  • Client Linux, macOS, atau Windows dengan OpenSSH
  • Akses SSH ke server
  • Akun pengguna pada server Linux
  • Hak akses sudo atau root

Cek versi SSH:

ssh -V

Contoh output:

OpenSSH_9.6p1

Cara Generate SSH Key Pair

Pada komputer client jalankan:

ssh-keygen -t ed25519 -C "admin@server"

Keterangan:

  • -t ed25519 menggunakan algoritma modern dan aman
  • -C untuk memberi komentar identifikasi key

Jika ingin kompatibilitas lebih luas:

ssh-keygen -t rsa -b 4096

Setelah selesai akan terbentuk:

~/.ssh/id_ed25519
~/.ssh/id_ed25519.pub

atau

~/.ssh/id_rsa
~/.ssh/id_rsa.pub

Menambahkan Passphrase

Saat proses pembuatan key, Anda dapat menambahkan passphrase.

Keuntungan:

  • Private key tetap aman jika perangkat hilang
  • Menambah lapisan keamanan tambahan

Cara Menyalin Public Key ke Server

Metode paling mudah:

ssh-copy-id user@ip-server

Contoh:

ssh-copy-id walid@192.168.1.10

Public key akan otomatis ditambahkan ke:

~/.ssh/authorized_keys

Jika ssh-copy-id Tidak Tersedia

Gunakan perintah berikut:

cat ~/.ssh/id_ed25519.pub

Salin hasilnya lalu login ke server:

ssh user@ip-server

Buat direktori SSH:

mkdir -p ~/.ssh
chmod 700 ~/.ssh

Edit file:

nano ~/.ssh/authorized_keys

Paste public key kemudian simpan.

Atur permission:

chmod 600 ~/.ssh/authorized_keys

Menguji Login Menggunakan SSH Key

Coba login:

ssh user@ip-server

Jika berhasil, Anda akan masuk tanpa perlu memasukkan password akun server.

Jika menggunakan key khusus:

ssh -i ~/.ssh/id_ed25519 user@ip-server

Menonaktifkan Password Authentication

Setelah memastikan login SSH Key berhasil, langkah berikutnya adalah menonaktifkan login menggunakan password.

Edit konfigurasi SSH Server:

sudo nano /etc/ssh/sshd_config

Ubah parameter berikut:

PubkeyAuthentication yes
PasswordAuthentication no
ChallengeResponseAuthentication no
UsePAM yes

Simpan konfigurasi.

Restart layanan SSH:

Pada Debian/Ubuntu:

sudo systemctl restart ssh

Pada RHEL/CentOS:

sudo systemctl restart sshd

Verifikasi Konfigurasi

Periksa status SSH:

sudo systemctl status ssh

atau

sudo systemctl status sshd

Pastikan service berjalan normal tanpa error.


Tips Keamanan Tambahan untuk SSH

Selain menggunakan SSH Key Authentication, lakukan juga beberapa langkah berikut:

Ganti Port SSH Default

Misalnya menggunakan port 2222:

Port 2222

Nonaktifkan Login Root

PermitRootLogin no

Batasi User yang Boleh Login

AllowUsers admin walid

Gunakan Firewall

Contoh UFW:

sudo ufw allow 2222/tcp

Aktifkan Fail2Ban

sudo apt install fail2ban

Fail2Ban dapat membantu memblokir percobaan login yang mencurigakan.


Troubleshooting SSH Key Authentication

Berikut beberapa masalah yang sering terjadi.

Permission Ditolak (Permission Denied)

Periksa hak akses:

chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

Public Key Tidak Terbaca

Pastikan key tersimpan pada:

~/.ssh/authorized_keys

Bukan:

authorized_keys.txt

SSH Menggunakan Password Terus

Gunakan mode debug:

ssh -v user@ip-server

atau:

ssh -vvv user@ip-server

Lihat apakah public key berhasil dikirim ke server.


SSH Service Gagal Restart

Validasi konfigurasi:

sshd -t

Jika ada kesalahan sintaks, sistem akan menampilkan lokasi error.


Server Tidak Bisa Dihubungi

Periksa:

ping ip-server

dan:

nc -zv ip-server 22

Pastikan firewall atau security group tidak memblokir koneksi.


Kapan Sebaiknya Menggunakan SSH Key Authentication?

SSH Key Authentication sangat direkomendasikan untuk:

  • Server produksi
  • VPS dan Dedicated Server
  • Infrastruktur cloud
  • Administrasi jarak jauh
  • CI/CD Pipeline
  • Git Server
  • DevOps Environment

Semakin penting sistem yang Anda kelola, semakin besar kebutuhan untuk menghindari autentikasi berbasis password.


Kesimpulan

SSH Key-Based Authentication merupakan standar keamanan modern yang wajib diterapkan pada server Linux. Dibandingkan login menggunakan password, metode ini jauh lebih aman, lebih cepat, dan lebih sulit diserang oleh pelaku brute force maupun pencurian kredensial.

Dengan membuat SSH Key Pair, menyalin Public Key ke server, serta menonaktifkan Password Authentication, Anda dapat meningkatkan keamanan server secara signifikan tanpa mengurangi kenyamanan administrasi.

Mulailah menerapkan SSH Key Authentication pada seluruh server Linux yang Anda kelola agar infrastruktur lebih aman dan profesional.


FAQ

1. Apakah SSH Key lebih aman dibanding password?

Ya. SSH Key menggunakan kriptografi yang jauh lebih sulit ditembus dibanding password biasa.

2. Algoritma SSH Key apa yang direkomendasikan?

Ed25519 merupakan pilihan yang direkomendasikan karena cepat dan aman.

3. Apakah password harus langsung dinonaktifkan?

Tidak. Pastikan SSH Key berfungsi terlebih dahulu sebelum menonaktifkan login password.

4. Apa fungsi file authorized_keys?

File tersebut berisi daftar public key yang diizinkan untuk login ke server.

5. Mengapa login SSH masih meminta password?

Biasanya karena permission salah, public key belum terpasang, atau konfigurasi SSH belum diterapkan.

6. Apakah SSH Key bisa digunakan di Windows?

Ya. Windows modern sudah mendukung OpenSSH Client dan OpenSSH Server.


“Keamanan server bukan tentang membuat akses lebih sulit, tetapi memastikan hanya orang yang tepat yang dapat masuk.”


Apakah Anda sudah menggunakan SSH Key Authentication pada server Linux yang dikelola? Bagikan pengalaman atau kendala Anda di kolom komentar.

Jika artikel ini bermanfaat, jangan lupa untuk membagikannya kepada rekan SysAdmin, Network Administrator, dan praktisi Linux lainnya. Subscribe blog ini untuk mendapatkan tutorial Linux Server, DevOps, keamanan jaringan, dan administrasi sistem terbaru.

Baca juga artikel lainnya seputar Linux Server, Proxmox, Docker, Kubernetes, DNS Server, dan keamanan infrastruktur IT.

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *