Cara Konfig SSH Tanpa Password Linux dengan ssh key
Keamanan dan kemudahan adalah dua hal yang tak terpisahkan dalam pengelolaan server Linux. SSH tanpa password menawarkan kombinasi ideal dari keduanya. Dengan memanfaatkan autentikasi berbasis kunci publik, kita dapat meningkatkan keamanan akses ke server sekaligus mengurangi risiko lupa password. Artikel ini akan memandu Anda langkah demi langkah dalam mengkonfigurasi SSH tanpa password di lingkungan Linux menggunakan ssh key.
Kelebihan Menggunakan SSH Key
SSH key menawarkan tingkat keamanan yang jauh lebih tinggi daripada password karena kompleksitas, uniknya, dan penggunaan kriptografi yang kuat. Berikut kelebihan yang didapat dari ssh key.
- Keamanan: Lebih aman daripada password karena kunci bersifat unik dan sulit ditebak.
- Otomatisasi: Sangat berguna untuk skrip dan alat yang memerlukan login otomatis tanpa interaksi pengguna.
- Multi-hop: Memungkinkan Anda melakukan hopping melalui beberapa server secara berurutan tanpa harus memasukkan password berulang kali.
- Lebih Mudah: Karena tidak perlu menghafal password.
Kebutuhan Operasinal.
Untuk menerapkan hal ini minimal menggunakan 2 perangkat linux bebas distro, Untuk praktek kali ini digunakan Alma8 dan Ubuntu24.
- Alma 8 sebagai Perangkat Lokal dengan ip 192.168.56.111
- Ubuntu 24 sebagai Perangkat Server/Remote dengan ip 192.168.56.108
Setup Login SSH Tanpa Password
Generate ssh key terdiri dari private dan public key.
Generate ssh key di Perangkat Lokal 192.168.56.111, untuk melakukan bisa menggunakan perintah ssh-keygen
. Hasil dari generate sshkey ada tercipta 2 key yaitu private key dan public key. Private di simpan di simpan dan public key di aplikasikan ke perangkat server/remote.
# ssh-keygen -t rsa

penggunaan cara diatas akan menerapkan algoritma enkripsi dan dekripsi default RSA dan jumah bit kunci yang digunakan adalah 2048 maksimal 4096 untuk RSA.
Atau jika kebutuhkan lain jenis algoritma bisa di ubah beserta jumlah bit nya. Seperti contoh dibawah ini yang menggunakan algoritma -t
rsa dengan jumah bit balue key -b
4096
# ssh-keygen -t rsa -b 4096

Setelah selesai generate ssh key, kedua key bisa dilihat di direkotri ~user/.ssh. Dalam contoh di atas karena user digunakan root lokasi private key bisa di lihat di ~/.ssh/id_rsa dan public key di ~/.ssh/id_rsa. pub. Untuk pengguna
Dengan prgini masuk proses menyalin atau copy key publik ke perangkan server/remote. Sedangkan private key bisa kita simpan untuk digunakan di perangkat lainnya yang ingin membuka koneksi ssh.
Salin atau Copy ssh key public ke perangkat server/remote.
Dalam proses salin publi key ini bisa dilakukan dengan dua cara yaitu :
- menggunakan perintah ssh-copy-id
- manual copy isi file public key dan menyisipkan ke file authorized_keys
menggunakan perintah ssh-copy-id
Untuk melakukan dari perangkat lokal setelah proses generate key dan didapakatn 2 key, public key bisa disalin ke perangat server/remote dengan ip 192.168.56.108 dengan perintah dibawah ini.
# ssh-copy-id root@ip-perangkat-server/remote

Seperti pada gambar diatas untuk pertama kali saat meng copy atau salin publik key ke perangkat masih menggunakan password. Untuk melihat hasilnya bisa langsung mencoba melakukan ssh.
Manual copy isi file public key dan menyisipkan ke file authorized_keys
Untuk menyalin perlu melihat isi dari publik key di dalam file id_rsa.pub dari perangkat lokal, dan menyisipkannya dalam file authorized_keys di perangkat server/remote.
Cara 1 Salin Manual
Untuk melihat isi dalam file bisa gunakann perintah cat seperti dibawah ini.
# cat ~/.ssh/id_rsa.pub

Lalu di perangkat server/remote salin isi file tersebut ke dalam file authorized_keys. Seperti contoh dibawah ini.
# echo RSA_KEY_PUB >> ~user/.ssh/authorized_keys

Setelah selesai di sisipkan bisa dilakukan pengujian ssh.
Cara 2 Salin Via ssh
Atau Alternatif penyalinan publik key ke perangkat server/remote bisa dipercepat dengan ssh dari perangkat lokal, Gunakan perintah berikut ini.
# cat ~user/.ssh/id_rsa.pub | ssh user@ip-host "mkdir -p ~user/.ssh && cat >> ~user/.ssh/authorized_keys"

Setelah selesai di sisipkan bisa dilakukan pengusian ssh.
Opsional Konfigurasi.
Agar Konfigurasi kalian bisa menambahkan atau mengubah parameter konfigurasi di file konfig ssh. Umumnya letaknya konfig ssh berada di /etc/ssh lebaih tepatnya /etc/ssh/sshd_config.
Seperti contoh dibawah ini jika menempatkan ssh pub ke ke dalam root authorized_keys bisa mengubah parameter atau menambahkan seperti dibawah.
PermitRootLogin without-password
Atau gunakan paramater dibawah ini untuk menerapkan kesemua user, dimana user tidak dapat login menggunakan prompt password. Akan tetapi hati-hati menggunakan konfig dibawah ini, pastikan pub key sudah di salin ke file authorized_keys dan private key sudah diamankan.
PasswordAuthentication no
ChallengeResponseAuthentication no
UsePAM no
Hasil Uji ssh Tanpa Password.
Setelah mengikuti tahap generate lalu menyisipan publik key sekarang waktunya melakukan uji coba ssh tanpa password, kalian hanya perlu melakukan ssh secara normal.
# ssh user@ip-host

Dengan begini ssh tanpa password sudah selesai, Selamat tinggal password.
Ringkasan
Penggunaan private key dan public key dari ssh key ini bisa dipindahkan ke perangkat lainnya jadi kita tidak perlu membuat atau generate baru sshkey di setiap perangkat kecuali ingin menambah hak akses.