Login SSH Tanpa Password dengan SSH Key

Login ke server menggunakan SSH Key merupakan cara yang lebih aman dibandingkan login dengan mengetikkan kata sandi biasa. Metode login dengan kata sandi biasa dapat dipecahkan dengan metode brute-force, sementara SSH Key hampir tidak mungkin dapat ditembus dengan metode brute-force biasa.

Akan ada 2 buah file yang harus anda ingat baik  – baik jangan sampai tertukar yaitu:

  • Private Key : ini adalah file yang berfungsi seperti password dan harus disimpan di tempat yang aman dan rahasia, jangan sampai Hilang. File ini hanya digunakan di komputer anda/ komputer yang digunakan untuk login ke Server.
  • Public Key : dalam kriptografi, Public Key dapat digunakan untuk men-decrypt pesan, file ini lah nantinya yang kita share ke publik, misalnya ke Server, ke GitHub, atau ke SysAdmin untuk didaftarkan ke server.

Linux yang digunakan pada penulisan artikel ini adalah Ubuntu 18.04, *untuk artikel ini nge-testnya di virtual 😀

Generate Private Key dan Public Key

Windows

Download aplikasi puttygen.exe dan putty.exe di sini

Buka aplikasi puttygen.exe, kemudian klik Generate untuk menggenerate, sambil gerak – gerakkan cursor anda agar progress bar nya jalan.

Generate SSH Key

Setelah proses generate selesai, Perhatikan gambar dibawah:

Puttygen Selesai

Bagian kotak merah paling atas adalah Public Key, Copy seluruh text pada area tersebut ke tempat yang aman, nanti Public Key tersebut akan di daftarkan ke Server.

Bagian Key Comment dapat anda gunakan untuk memberi nama atau catatan tentang Public Key ini, pada contoh diatas saya memberi nama PC-Sayang.

Key Passphrase digunakan untuk memasang password pada Private key ini, password akan selalu ditanyakan ketika Private key digunakan. Karena artikel ini berjudul “Login SSH Tanpa Password” maka kosongkan saja Passphrase nya, namun Simpan private key ditempat yang aman.

Klik tombol Save private key untuk menyimpan private key tersebut, File Private Key ini nantinya yang anda gunakan untuk Login pada aplikasi Putty. File yang disimpan ber-extensi .ppk dan hanya dapat digunakan oleh aplikasi Putty, namun anda dapat mengkonversinya ke format OpenSSH untuk digunakan pada Linux dan Mac.

Linux & Mac

Cara meng-generate ssh key di Linux dan Mac hampir sama. Defaultnya private key berada di /home/.ssh/id_rsa. Jika anda pernah menggenerate ssh key sebelumnya, maka sebaiknya backup dahulu key tersebut.

cd ~/.ssh
mkdir backups
mv id_rsa* backups

Kemudian Generate Key dengan perintah dibawah ini: 
-C adalah opsi untuk komentar

ssh-keygen -t rsa -C "Linux-Sayang"

Hasil output kurang lebih seperti dibawah ini:
Saya membiarkan semuanya default, (Tekan enter saja)

SSH-KEYGEN

dari perintah ssh-keygen dihasilkan 2 buah file:

  • id_rsa yang berisikan Private Key
  • id_rsa.pub yang berisikan Public Key

Konfigurasi Pada SSH Server

Enable Key Authentication

Untuk mengaktifkan Authentikasi dengan key, edit konfigurasi ssh pada file /etc/ssh/sshd_config, pastikan value dibawah ini Yes:

PubkeyAuthentication yes

kemudian restart sshd

service sshd restart

Daftarkan Public Key pada Server

Defaultnya Public Key yang diizinkan login berada pada directory Home masing masing user, tepatnya di: ~/.ssh/authorized_keys. 

agar anda tidak bingung, Login lah dengan User yang akan anda gunakan login dengan Key, kemudian paste isi dari Public Key (id_rsa.pub atau text area besar di aplikasi puttygen) yang telah di generate tadi ke file tersebut:

echo PRIVATE_KEY >> ~/.ssh/authorized_keys
chmod 0600 ~/.ssh/authorized_keys

Jika anda menambahkan nya dengan user root, pastikan file authorized_key ownership nya dimiliki user yang bersangkutan dan chmod-nya 600

Setelah mendaftarkan Public Key pada server, cobalah login dengan menggunakan Private key yang telah dibuat tadi.

Konfigurasi pada SSH Client

Windows

Koneksi SSH pada Windows biasa saya lakukan dengan aplikasi putty.

Opsi Private key berada pada category : Connection -> SSH -> Auth, klik Browse kemudian pilih file Private key (.ppk) yang telah di simpan sebelum nya.

Putty Auth

Kemudian Kembali ke kategori Session dan isikan username@hostname anda di kolom yang disediakan. Setelah semua lengkap berikan nama setingan tersebut pada kolom Saved Sessions, kemudian klik Save.

Jika nanti anda membuka aplikasi putty lagi anda akan menemukan nama session yang telah disimpan disana

Putty Session

Klik tombol Open untuk memulai ssh

Linux & Mac

Uji coba pada linux & Mac sangat mudah, jika anda mengikuti tutorial diatas dengan lokasi private key yang default, maka cukup ketikkan perintah ssh seperti biasa:

ssh user@hostname

Namun jika anda mengubah lokasi private key gunakan parameter -i (Identity) agar private key digunakan:

ssh user@hostname -i /lokasi/private/id_rsa

Disable Password Authentication

Jika anda sudah berhasil login dengan Private Key, anda dapat mematikan metode login dengan password biasa. Tapi sebelumnya pastikan anda tetap memiliki akses ke root user dan juga telah menyimpan Private Key di tempat yang aman, jangan sampai private key Hilang!

#/etc/ssh/sshd_config
PasswordAuthentication no
service sshd restart
Seorang Web Developer di Denpasar Bali. Nulis blog hanya sekedar iseng dan berbagi pengalaman.

Eksplorasi konten lain dari Kadek Jayak

Langganan sekarang agar bisa terus membaca dan mendapatkan akses ke semua arsip.

Lanjutkan membaca