Panduan Mengamankan Server dengan SSH Key dan Menonaktifkan Autentikasi Password
Eko Susilo Harjo September 16, 2024

Mengamankan server dari serangan brute force adalah salah satu langkah penting dalam manajemen infrastruktur. Salah satu cara paling efektif untuk melakukannya adalah dengan menggunakan SSH key. Jika sebelumnya kamu hanya menggunakan password untuk masuk ke server, metode ini akan memberikan lapisan keamanan yang jauh lebih kuat.
SSH key adalah kombinasi kunci publik dan kunci privat yang memungkinkan autentikasi lebih aman daripada menggunakan password. Ini hampir tidak mungkin untuk dibobol dengan brute force karena kompleksitas kunci yang dihasilkan. Pada artikel ini, saya akan membahas cara membuat SSH key, menyalinnya ke server, dan menonaktifkan autentikasi password. Yuk, kita mulai!
Apa Itu SSH Key dan Bagaimana Cara Kerjanya?
SSH key merupakan pasangan kunci digital yang terdiri dari kunci publik dan kunci privat. Konsep yang digunakan adalah public key cryptography, di mana kunci publik bisa dibagikan ke siapa saja, sementara kunci privat harus dijaga kerahasiaannya.
Ketika kamu mencoba login ke server menggunakan SSH key, server akan menggunakan kunci publik untuk mengenkripsi pesan acak. Pesan ini hanya bisa didekripsi oleh kunci privat yang sesuai. Jika proses dekripsi berhasil, server akan menerima bahwa kamu adalah pengguna yang sah, dan saluran komunikasi yang aman akan dibuat antara server dan client.
Keunggulan utama dari metode ini adalah hanya kamu yang memiliki kunci privat yang bisa mengakses server, sehingga meskipun kunci publik tersebar, tidak ada yang bisa login tanpa kunci privat.
Langkah 1: Membuat SSH Key Pair
Langkah pertama adalah membuat pasangan kunci SSH. Proses ini dilakukan di komputer lokalmu. Gunakan perintah berikut di terminal:
ssh-keygen -t rsa -b 4096 -C "[email protected]"
Berikut penjelasan singkat dari parameter yang digunakan:
-t rsa
: Menentukan tipe algoritma yang digunakan, dalam hal ini RSA.-b 4096
: Menentukan panjang kunci, semakin besar semakin aman. 4096 bit direkomendasikan untuk keamanan tinggi.-C "[email protected]"
: Menambahkan komentar pada kunci, biasanya alamat email sebagai identifikasi.
Setelah menjalankan perintah tersebut, kamu akan diminta untuk menentukan lokasi penyimpanan kunci. Secara default, kunci akan disimpan di ~/.ssh/id_rsa
. Jika kamu menggunakan lebih dari satu kunci, ada baiknya untuk memberi nama khusus agar lebih mudah dikelola.
Setelah itu, kamu akan diminta memasukkan passphrase. Passphrase ini opsional, tapi sangat dianjurkan untuk menambah lapisan keamanan ekstra pada kunci privatmu.
Setelah proses selesai, terminal akan menampilkan fingerprint dan gambar acak dari kunci yang baru saja kamu buat.
Langkah 2: Menyalin SSH Key ke Server
Langkah berikutnya adalah menyalin kunci publik yang telah kamu buat ke server tujuan. Kita akan menggunakan perintah ssh-copy-id
untuk ini. Berikut perintahnya:
ssh-copy-id username@hostname_ip
Gantilah username
dengan nama pengguna di server, dan hostname_ip
dengan IP server atau domainnya.
Jika kamu menyimpan kunci di lokasi yang berbeda dari default, kamu harus menambahkan jalur ke kunci publikmu. Misalnya:
ssh-copy-id -i ~/.ssh/nama_kunci.pub username@hostname_ip
Jika server SSH berjalan di port yang berbeda dari port default (port 22), tambahkan opsi -p
diikuti dengan nomor portnya. Contohnya:
ssh-copy-id -i ~/.ssh/nama_kunci.pub -p 10000 username@hostname_ip
Setelah kunci berhasil disalin, kamu sudah bisa login ke server tanpa menggunakan password lagi.
Langkah 3: Memastikan SSH Key Berfungsi
Sekarang saatnya menguji apakah kunci SSH berfungsi dengan baik. Buka terminal baru dan coba login ke server:
ssh username@hostname_ip
Jika semuanya sudah terkonfigurasi dengan benar, kamu akan diminta memasukkan passphrase (jika ada), dan login akan berhasil tanpa perlu memasukkan password server.
Langkah 4: Menonaktifkan Autentikasi Password
Setelah memastikan login dengan SSH key berhasil, saatnya menonaktifkan autentikasi password untuk meningkatkan keamanan. Peringatan: Pastikan kunci SSH sudah berfungsi dengan baik sebelum menonaktifkan password. Jika tidak, kamu bisa terkunci dari server.
Untuk menonaktifkan autentikasi password, ikuti langkah-langkah berikut:
- Login ke server menggunakan SSH key.
- Buka file konfigurasi SSH:bashCopy code
sudo nano /etc/ssh/sshd_config
- Cari baris yang berbunyi
PasswordAuthentication yes
dan ubah menjadiPasswordAuthentication no
. - Simpan perubahan dengan menekan
CTRL + O
, lalu keluar denganCTRL + X
. - Restart layanan SSH agar perubahan berlaku
sudo systemctl restart ssh
Langkah 5: Menguji Kembali dan Pastikan Password Tidak Bisa Digunakan
Sekarang, cobalah login ke server menggunakan password. Jika konfigurasi berhasil, server seharusnya menolak semua upaya login yang menggunakan password. Dengan begitu, hanya login menggunakan SSH key yang diizinkan.
Kesimpulan
Mengamankan server dengan SSH key adalah salah satu cara paling efektif untuk melindungi server dari serangan brute force. Prosesnya relatif mudah dan memberikan lapisan keamanan tambahan yang signifikan. Setelah kamu berhasil mengonfigurasi SSH key dan menonaktifkan autentikasi password, servermu akan jauh lebih aman.
Discover more from teknologi now
Subscribe to get the latest posts sent to your email.