Setting SSH Menggunakan Certificate (Debian – Mac)

ssh_rsaTutorial ini akan menunjukkan gimana caranya mengkonfigurasi SSH agar bisa login menggunakan certificate tanpa password, pada komputer client Mac dan server Debian. Harusnya juga bisa untuk OS lainnya tapi saya belum pernah coba. Alasan orang menggunakan certificate untuk SSH mereka rata-rata adalah demi keamanan, karena orang yang ngga punya private key ngga akan bisa login ke server sekalipun di-brute force attack. Tapi alasan saya pribadi adalah karena males mengetikkan password di terminal, ehehe..

Pertama, buka dulu program Terminal yang ada di Mac (⌘ + spasi dan ketik “terminal”) lalu ketikkan perintah ini untuk menggenerate key pair (private & public key):

ssh-keygen -t rsa -b 2048

Kita akan diberikan beberapa pertanyaan:

Enter file in which to save the key (/home/username/.ssh/id_rsa): (Tekan Enter) 
Enter passphrase (empty for no passphrase): (Tekan Enter) 
Enter same passphrase again: (Tekan Enter)

Sampai sini di komputer Mac kita udah ada pasangan key, yaitu private key (id_rsa) dan public key (id_rsa.pub) yang lokasinya ada di /Users/YOURUSERNAMEHERE/.ssh/. Private key (id_rsa) bisa diibaratkan anak kunci yang selalu kita bawa kemana-mana untuk membuka gembok server (public key / id_rsa.pub). Private key ada di sisi client, sedangkan public key kita letakkan di server. Masih di Terminal, ketikkan perintah ini:

cat /Users/YOURUSERNAMEHERE/.ssh/id_rsa.pub

Perintah cat fungsinya untuk melihat isi file id_rsa.pub. Kemudian copy isi file id_rsa.pub tadi (ctrl + c) dan nantinya akan kita paste di server. Berikutnya login ke server menggunakan SSH, lalu edit / paste isi file id_rsa.pub tadi kedalam file ini:

vi /home/YOURUSERNAMEHERE/.ssh/authorized_keys

Langkah terakhir, edit file /etc/ssh/sshd_config dan tambahkan / ubah sehingga jadi begini:

RSAAuthentication yes 
PubkeyAuthentication yes 
PasswordAuthentication no 
UsePAM no

Seperti contoh di atas, PasswordAuthentication dan UsePAM saya set menjadi no gunanya untuk mendisable login menggunakan username & password, sehingga certificate adalah satu-satunya cara untuk masuk ke server. Untuk login ke server caranya begini:

ssh [email protected]

Karena file id_rsa (private key) tadi lokasinya masih default, yaitu di /Users/YOURUSERNAMEHERE/.ssh/ jadi kita ngga perlu mendefinisikan lagi lokasinya, SSH akan mencari otomatis di lokasi tersebut.

Leave a Reply

Your email address will not be published. Required fields are marked *