Konfigurasi SSH Publickey authentication

16 Mar

ssh-keygenSSH merupakan protokol remote administrasi yang lazim digunakan oleh para sysadmin karena telah mendungkung encrypted connection sehingga aktivitas remote ke server maupun network menjadi lebih aman.

OpenSSH server adalah aplikasi yang umum dan terinstall di sistem operasi Linux atau Unix-like OS lainnya. Pada kesempatan ini saya akan berbagi tentang konfigurasi ssh server agar user dapat login menggunakan public-key. Konfigurasi SSH Public Key Authentication ini saya lakukan di CentOS 7.2 namun bisa digunakan juga di hampir semua sistem operasi selama masih menggunakan OpenSSH.

Sesuaikan konfigurasi SSH:

# vi /etc/ssh/sshd_config

Lalu cari parameter dan sesuaikan seperti dibawah ini:

PermitRootLogin no
Protocol 2
PasswordAuthentication no
PubkeyAuthentication yes
AuthorizedKeysFile   .ssh/authorized_keys .ssh/pubkey_lain

Lalu simpan dan restart service ssh:

# systemctl restart sshd

Buat direktory yang akan digunakan untuk menyimpan public key di dalam home direktori user lalu sesuaikan permissionnya seperti dibawah ini:

# su - pnyet
$ mkdir ~/.ssh
$ chmod 700 ~/.ssh

SSH key yang akan digunakan untuk proses otorisasi dapat digenerate di server maupun di client / pc yang digunakan untuk remote. Jika ssh key digenerate di server maka yang perlu di-copy ke pc client / remote adalah private key hasil ssh-keygen, sebaliknya, jika key digenerate di pc remote maka yang perlu dicopy ke server adalah public key-nya. Dibawah ini adalah contoh perintah generate ssh key, di server maupun pc remote perinitahnya sama:

$ ssh-keygen -t rsa

Secara default, ssh key yang digenerate mempunyai nama .id_rsa, lalu ubah file .id_rsa.pub menjadi authorized_keys atau pubkey_lain sesuai dengan parameter “AuthorizedKeysFile” di sshd_config dan sesuaikan permissionnya seperti dibawah ini:

$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
$ chmod 700 ~/.ssh 
$ chmod 600 ~/.ssh/authorized_keys

Selanjutnya copy private key untuk agar dapat digunakan di pc remote, jika menggunakan linux desktop atau osx (mac os) maka private key bisa disimpan di folder .ssh home direktori. Jika menggunakan windows dan putty sebagai ssh client maka private key bisa diconvert dulu ke .ppk menggunakan puttygen lalu simpan file .ppk dan load file tersebut setiap akan login ke remote server.

Leave a Reply

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

*

This site uses Akismet to reduce spam. Learn how your comment data is processed.