Login SSH Tanpa Password dengan Key Pair
Login SSH Tanpa Password dengan Key Pair pada artikel ini menjelaskan cara konfigurasi Login SSH Tanpa Password dengan Key Pair.
Intro
Penting untuk memastikan keamanan dalam mengakses server jarak jauh, dan salah satu metode yang efektif adalah menggunakan autentikasi dengan key pair pada protokol SSH. Dengan metode ini, pengguna dapat login tanpa memasukkan password setiap kali mengakses server. Bagaimana caranya? Dengan menghasilkan sepasang kunci, yaitu kunci private dan public.
Ketika Anda membuat key pair, kunci public akan diduplikasi ke server, sementara kunci private akan disimpan di lokal. Proses autentikasi kemudian mengandalkan kunci private yang cocok dengan kunci public di server, mengamankan akses tanpa memerlukan password.
Penting untuk diingat bahwa menjaga keamanan kunci privat Anda sangat penting. Jangan pernah membagikannya atau menyimpannya di tempat yang dapat diakses oleh orang lain.
Membuat Key Pair
Pertama membuat Key Pair dengan ssh-keygen. Berikut perintahnya:
ssh-keygen -t rsa
Private key dan Public key biasanya akan tersimpan otomatis pada folder .ssh di home current user atau di home akun user yang sedang Anda gunakan. Anda dapat mengeceknya pada folder dengan path $HOME/.ssh/. Terdapat 2 buah file dari hasil membuat key pair yaitu id_rsa dan id_rsa.pub.
$HOME/.ssh/id_rsa – adalah private key, sebagai kunci identitas client untuk login ke server tanpa menggunakan password.
$HOME/.ssh/id_rsa.pub – adalah public key, yang mana file ini akan diduplikasi dan diletakan ke remote server.
Duplikasi Public Key ke Remote Server
Setelah membuat Key Pair, duplikasi Public key ke server tujuan. Contoh misal IP server yang Anda remote 10.11.12.13 dan user yang digunakan admin, berikut perintah duplikasi Public key ke server tujuan:
ssh-copy-id -i $HOME/.ssh/id_rsa.pub [email protected]
[email protected]'s password:
Kemudian Anda akan diminta mengisikan password, isikan password tersebut dengan password user admin server.
Alternatif
Anda juga dapat meng-copy public key dengan cara berikut:
scp $HOME/.ssh/id_rsa.pub [email protected]:~/.ssh/authorized_keys
Catatan: Pastikan pada home akun admin di server terdapat folder .ssh/authorized_keys. Jika tidak maka harus dibuat folder tersebut dengan path /home/admin/.ssh/authorized_keys.
Test Login
Setelah duplikasi public key ke server, lakukan pencobaan login ke server.
ssh [email protected]
Atau Anda dapat menyertakan Private key untuk login. Ini berfungsi jika Anda membagikan Private key kepada orang lain dan mereka menggunakan komputer pribadi atau komputer Anda tidak otomatis membaca Private key sehingga harus disertakan. Berikut perintahnya:
ssh -i /path/id_rsa [email protected]
Catatan: Secara default jika Anda membuat Key Pair pada komputer Anda biasanya Private key dan Public key akan tersimpan pada ~/.ssh/ . Dan saat Anda login ssh ke remote server Anda tidak perlu menyertakan Private key karena saat menjalankan perintah, ssh akan membaca folder .ssh untuk mendapatkan Private key yang Anda miliki.
Tambahan
Multi Public Key (Multi Client Passwordless Login)
Anda dapat mendaftarkan multi public key kedalam 1 server sehingga banyak akun atau device yang login ke server tanpa password. Dan ini menjadi solusi untuk menghindari share private key.
Untuk mendaftarkan multi public key Anda cukup menambahkan public key akun baru di baris paling bawah di file /home/admin/.ssh/authorized_keys. Berikut contoh gambar 2 buah public key akun user dan john.
Disable Login dengan Password dan User Root
Untuk menambah keamanan login server. Anda dapat mematikan login dengan menggunakan password sehingga hanya public key yang terdaftar saja yang dapat login ke server dan mematikan akses login langsung ke root. Berikut langkahnya:
Edit file /etc/ssh/sshd_config dengan perintah berikut:
sudo nano /etc/ssh/sshd_config
Lakukan penyesuaian pada baris berikut:
...
#PasswordAuthentication yes
...
PermitRootLogin yes
Menjadi
...
PasswordAuthentication no
...
PermitRootLogin no
Konklusi
Dengan menerapkan autentikasi SSH menggunakan key pair, keamanan akses server jarak jauh dapat ditingkatkan tanpa perlu memasukkan password setiap kali login.
Setelah berhasil membuat key pair, perintah ssh-copy-id atau scp digunakan untuk penyalinan public key ke server tujuan. Keamanan kunci privat perlu dijaga ketat, hindari berbagi atau menyimpannya di lokasi yang rentan diakses oleh pihak tidak berwenang.
Untuk mengoptimalkan keamanan, penambahan multi public key memungkinkan login tanpa password dari berbagai akun atau perangkat tanpa harus berbagi private key. Selain itu, dengan menonaktifkan login menggunakan password dan menghindari login langsung ke root, tingkat keamanan server semakin ditingkatkan.
Implementasi ini memberikan solusi efektif untuk menjaga keamanan akses jarak jauh, meminimalkan risiko kebocoran password, dan memberikan kenyamanan dalam manajemen akses ke server.