News, Software, Teknologi, Webdev

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 "youremail@example.com"

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 "youremail@example.com": 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:

  1. Login ke server menggunakan SSH key.
  2. Buka file konfigurasi SSH:bashCopy codesudo nano /etc/ssh/sshd_config
  3. Cari baris yang berbunyi PasswordAuthentication yes dan ubah menjadi PasswordAuthentication no.
  4. Simpan perubahan dengan menekan CTRL + O, lalu keluar dengan CTRL + X.
  5. 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.

Automasi sudah menjadi kebutuhan penting bagi setiap sysadmin modern. Bayangkan harus memantau ratusan server, cek status website, dan upload file secara manual setiap hari – tentu sangat melelahkan. Inilah mengapa curl command untuk automasi sysadmin menjadi solusi andalan para profesional IT. 10 curl command terbaik untuk automasi sysadmin memungkinkan Anda melakukan berbagai tugas secara otomatis […]

Jika kamu ingin belajar Pandas Python untuk analisis data, kamu berada di tempat yang tepat. Panduan ini dirancang khusus untuk pemula yang ingin menguasai Pandas dari nol hingga bisa membersihkan dan menganalisis data dengan percaya diri. Apa Itu Pandas Python dan Kenapa Penting untuk Analisis Data? Pandas adalah library Python yang paling populer untuk manipulasi […]

Apakah kamu seorang IT enthusiast yang ingin mencoba merasakan VR di lingkungan homelab sendiri? Artikel ini akan mengajak kamu memahami cara setup VR di homelab yang ramah di kantong dan minim frustrasi. Mulai dari persiapan hardware, instalasi perangkat lunak, hingga troubleshooting VR homelab—semua kami rangkum dalam panduan praktis berikut. Persiapan VR Homelab: Apa Saja yang […]

Discover more from teknologi now

Subscribe now to keep reading and get access to the full archive.

Continue reading