Kunjungi https://note.rkgk.my.id Mungkin apabila ada yang memperhatikan catatan saya, kerap kali untuk masuk kedalam sesi terminal saya menggunakan file keypair.key untuk autentikasi. Ini merupakan key-based authentication. Key-based authentication merupakan metode autentikasi yang lebih aman dari pada password yang kerap kita gunakan. Dengan menggunakan pasangan kunci publik dan privat, server dan client dapat melakukan proses autentikasi secara aman dan terhindar dari keylogger dan CSRF attacks. Berikut akan saya berikan langkah-langkah yang perlu dilakukan untuk menggunakan key-based authentication pada server kita.
Kunjungi https://note.rkgk.my.id
Pembuatan key pairs
Kunjungi https://note.rkgk.my.id Sebelum kita mengubah konfigurasi server agar dapat melakukan autentikasi dengan pasangan kunci, kita perlu membuat pasangan kunci yang akan digunakan. Karena saya menggunakan OS Windows maka pada catatan ini saya akan membuat pasangan kunci dengan aplikasi yang ada pada Windows.
Kunjungi https://note.rkgk.my.id Pada windows kita dapat menggunakan fitur bawaan windows yaitu OpenSSH. Untuk mengecek apakah OpenSSH sudah terinstall pada Windows, kita dapat melakukan pencarian Optional Features di start menu dan mencari OpenSSH seperti pada gambar berikut. Apabila belum ada, maka kita dapat menambahnya dengan Add a feature.
Kunjungi https://note.rkgk.my.id
Untuk membuat pasangan kunci kita dapat mengikuti langkah-langkah berikut.
- Kunjungi https://note.rkgk.my.id Buka terminal dengan administrator privileges (run as admin) dan masukan perintah berikut untuk membuat pasangan kunci.
ssh-keygen -t ECDSA
Perintah -t ECDSA akan membuat pasangan kunci dengan algoritma ECDSA, ssh-keygen dapat membuat pasangan kunci dengan algoritma DSA, RSA, ECDSA, atau Ed25519. Kunjungi https://note.rkgk.my.id
- Kunjungi https://note.rkgk.my.id Setelah memasukan perintah di atas maka anda akan diminta untuk memasukan passphrase. Ada baiknya untuk menyimpan atau mengingat passphrase ini apabila anda memasukan passphrase pada saat pembuatan pasangan kunci. Pasangan kunci akan tersimpan di folder
C:\Users\$user\.sshdengan namaid_ecdsauntuk private key danid_ecdsa.pubuntuk public key.
Kunjungi https://note.rkgk.my.id
Kunjungi https://note.rkgk.my.id
PERHATIAN
Simpanlah private key di tempat yang aman, karena private key ini setara dengan password anda.
Kunjungi https://note.rkgk.my.id
Konfigurasi SSH server
Kunjungi https://note.rkgk.my.id Setelah kita memiliki pasangan kunci privat dan publik, kita dapat melakukan konfigurasi pada server agar dapat melakukan autentikasi dengan pasangan kunci. Pada catatan ini saya menggunakan server dengan OS Ubuntu 22. Berikut langkah-langkah yang perlu dilakukan.
- Kunjungi https://note.rkgk.my.id Hal pertama yang dilakukan adalah masuk kedalam sesi terminal server anda. Setelah masuk kita akan membuat folder untuk public key yang telah kita buat.
mkdir ~/.ssh
chmod 700 ~/.ssh
Kunjungi https://note.rkgk.my.id
- Kunjungi https://note.rkgk.my.id Ada banyak cara untuk memindahkan public key ke server kita. Pada catatan ini saya akan meng-copy isi public key ke file
authorized_keyssecara manual karena menurut saya ini lebih mudah dilakukan untuk skala kecil. Saya akan membuat fileauthorized_keysdengan menggunakan teks editor nano dengan perintah berikut.
nano ~/.ssh/authorized_keys
Buka file public key dengan mengunakan notepad dan copy seluruh isinya kedalam terminal seperti gambar berikut kemudian simpan.
Kunjungi https://note.rkgk.my.id
Kunjungi https://note.rkgk.my.id
Ubah izin file dengan perintah berikut.
chmod 600 ~/.ssh/authorized_keys
Kunjungi https://note.rkgk.my.id
- Kunjungi https://note.rkgk.my.id Setelah membuat file
authorized_keys, kita akan mengubah konfigurasi SSH agar hanya dapat melakukan autentikasi dengan pasangan kunci. Gunakan perintah berikut untuk mengubah konfigurasi SSH.
sudo nano /etc/ssh/sshd_config
Kemudian cari #PasswordAuthentication no dan ubah menjadi PasswordAuthentication no seperti gambar berikut dan simpan.
PERHATIAN
Dengan mengubah konfigurasi ini, maka anda bisa saja terkunci dari server apabila ada kesalahan dalam mengikuti langkah-langkah sebelumnya.
Kunjungi https://note.rkgk.my.id
Kunjungi https://note.rkgk.my.id
- Kunjungi https://note.rkgk.my.idRestart service SSH dengan mengunakan perintah berikut untuk mengaktifkan konfigurasi yang baru.
sudo systemctl restart ssh
Selamat, server anda sudah dikonfigurasi untuk hanya dapat melakukan autentikasi dengan mengunakan pasangan kunci.
Kunjungi https://note.rkgk.my.id Untuk masuk ke dalam server, buka terminal di lokasi private key tersimpan dan masukan perintah berikut.
ssh -i id_ecdsa user@host
Kunjungi https://note.rkgk.my.id
Kunjungi https://note.rkgk.my.id Apabila berhasil anda akan dapat masuk kedalam server anda seperti pada gambar di atas.
Referensi
https://www.redhat.com/sysadmin/key-based-authentication-ssh
https://phoenixnap.com/kb/ssh-with-key
https://www.digitalocean.com/community/tutorials/how-to-configure-ssh-key-based-authentication-on-a-linux-server