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 "[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:

  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.

Polars adalah pustaka open-source untuk pemrosesan data yang ditulis dalam bahasa Rust, yang terkenal dengan efisiensi dan kecepatan. Polars dirancang untuk menangani analisis data secara paralel, memanfaatkan arsitektur modern komputer yang memiliki banyak inti CPU.

“Pelajari konsep Docker persistence dan teknik seperti Docker volumes, bind mounts, dan tmpfs untuk memastikan data tetap aman dan persisten dalam container. Dapatkan panduan lengkap di sini!”

AI dalam dunia fintech telah berkembang pesat, bukan sekadar teknologi baru yang tiba-tiba muncul. Teknologi ini telah lama digunakan untuk membantu pengambilan keputusan keuangan dan mendeteksi penipuan. Kini, AI dan subdomainnya, yaitu Machine Learning (ML), memberikan nilai tambah signifikan dalam berbagai aspek industri fintech. Apa saja manfaat utama teknologi ini bagi sektor keuangan dan perbankan? […]

Discover more from teknologi now

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

Continue reading