Penggunaan SSH key sangat umum dikalangan system administrator (SRE, DEVOPS, CPE), karena dengan SSH Key ini kita bisa mengakses server remote tanpa perlu menggunakan password. Penggunaan key jauh lebih aman dibandingkan dengan menggunakan password, banyak yang bertanya bagaimana caranya untuk membuat SSH key?

SSH Key ini terbagi menjadi dua bagian private key dan public key, public key ini yang perlu ditambahkan di tiap server yang anda kelola. Untuk private key, ini harus dijaga benar-benar, karena merupakan pintu masuk ke server. Agar SSH key ini bisa digunakan harus menggunakan private key dan public key, untuk itu mari kita buat SSH key untuk pertama kali.

Buka terminal Linux anda

ssh-keygen -b 4096

saat diminta informasi lokasi penyimpanan file SSH “Enter file in which to save the key”, cukup tekan ENTER di keyboard. Penamaan kedua file ini bisa dibuat sesuka hati, contoh key_kantor, key_freelance atau variasi lainnya, sebaiknya sewaktu membuat key baru menggunakan nama yang mudah dikenali.

Private dan Public key akan disimpan di ~/.ssh, yang bisa di cek dengan ls -l ~/.ssh

$ ls -l ~/.ssh
total 8
-rw------- 1 tommy tommy 3381 Mar 20 15:39 id_rsa
-rw-r--r-- 1 tommy tommy  744 Mar 20 15:39 id_rsa.pub

Penjelasan kedia file diatas id_rsa adalah private key dan id_rsa.pub adalah public key. Kedua file ini bisa saja menggunakan nama yang berbeda, tetapi keduanya bisa kita lihat perbedaanya dengan cara melihat isi filenya.

buat ssh key linux

Contoh Private dan Public Key

File id_rsa dan id_rsa.pub adalah file text yang bisa kita lihat isinya, kita akan menggunakan cat untuk melihatnya.

Contoh isi private key, ditandai dengan baris awal “—–BEGIN OPENSSH PRIVATE KEY—–”

cat ~/.ssh/id_rsa
# output
-----BEGIN OPENSSH PRIVATE KEY-----
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
-----END OPENSSH PRIVATE KEY-----

Contoh public key

cat ~/.ssh/id_rsa.pub
# output
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDEJEmhv35/15/RHQCupyv0rBbuWCWN1YAgk0F5R7umJiIa5Q4ww4sdbeFzPdY3rdSv2/GvrBw1CiG/H+lV98WB5Sf6E9v6wyCGiK2LwyiI5++H4/AQ8Kzz5UXRpa/7gKb33JAosaJDeEMl18Tv8khVXmEeyUcE5g0h6m7FFT+rHqYXBiBqsn430pp87dMT9c8Sf7yYaPOxzz5F9lg4K/nuyiSKszBgn6ohG7CdeK362wgcGRm+gaHrPbA4xiPjSc8X+rL/qMiFmySZZJW3U59fYY5nN/Oxajub9Uq7F3mcputbpvYpAZZiHmt4Ov6aM31qrqkAsWiBj2OSiZmEAwlvVWqyTez/LLHwSjQXpFFLoKIVTwM3Ky8Acozn6EVLPpe6Rz0vZ8kue9KROsH0UhFEUYWZZ+DvYAxxt1bh2DGLNkNJ8f27xK5anKU61LmKATgMY8Hks7DL82LEbHnItf0KbTZF7neXZPIJipaVh+A7Zv3vUuzDPTrenm6nVCvDQkYrR0Nv8a2DKe9C6KyP9QZGcAMdCyKVybi22PhkfEYdxpdDW8PTq03JFflNhTFkXDEZqMMyxSKXQRUdvDp+x0qndS5sikWlWpLhojxYt3z47elZZ59EFdA5ec9F7o97W2IkqqDSLg7vIm2ug4eJ230sva0z2xIRPlBlzTGgww/Xnw== tommy@linux-server

Cara Konek Ke Server Dengan SSH Key

Sesudah kita memiliki private dan public key, sekarang kita belajar bagaimana caranya konek ke server.

Copy isi file ~/.ssh/id_rsa.pub, lalu tambahkan di server pada file ~/.ssh/authentication_keys (buat baru file ini, bila tidak ada di server)
Untuk menjalankan proses ini bisa manual, ataupun otomatis dengan bantuan ssh-copy-id

ssh-copy-id tommy@192.168.88.20
# output
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/home/tommy/.ssh/id_rsa.pub"
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
tommy@192.168.88.20's password: 
 
Number of key(s) added: 1
 
Now try logging into the machine, with:   "ssh 'tommy@192.168.88.20'"
and check to make sure that only the key(s) you wanted were added.

pada contoh diatas saya biasa login ke server 192.168.88.20 dengan user tommy, saat menjalankan perintah diatas anda akan diminta password untuk user tersebut. Lalu coba login kembali, anda bisa login ke server tanpa perlu memasukkan password, anda sudah login ke server 192.168.88.20

ssh tommy@192.168.88.20

ssh login without password

Pengamanan Private Key

Cara diatas masih kurang aman, karena bila orang lain mendapatkan private key anda, maka dia bisa dengan leluasa login ke server anda. Untuk itu buat password untuk private key. Kita akan membuat private key dan public key yang baru, tetapi kali ini dilindungi dengan password

ssh-keygen -b 4096 -f ~/.ssh/encrypted_rsa
# output
Generating public/private rsa key pair.
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/tommy/.ssh/encrypted_rsa
Your public key has been saved in /home/tommy/.ssh/encrypted_rsa.pub
The key fingerprint is:
SHA256:ToQJ8EdvuX7WTFfKWkRIxg1f0krrx1hMGkDiOVxnzrE tommy@linux-server
The key's randomart image is:
+---[RSA 4096]----+
|  ... .   .+B=*..|
|   . o + + =oB+=o|
|    . + = =  .EB.|
|     . o . . o+oo|
|        S   ..=+ |
|       +   + +o o|
|        o o +  . |
|         o       |
|                 |
+----[SHA256]-----+

Masukkan password anda dibagian Enter passphrase (empty for no passphrase): dan Enter same passphrase again:, password yang anda ketik tidak akan kelihatan, kalo sudah selesai tekan ENTER.
encrypted rsa ssh

Simpan public key yang baru ke server

ssh-copy-id -i ~/.ssh/encrypted_rsa.pub tommy@192.168.88.20

lalu coba login

ssh -i ~/.ssh/encrypted_rsa tommy@192.168.88.20

kali ini anda harus memasukkan password yang digunakan untuk enkripsi encrypted_rsa
gunakan password terenkripsi ssh
agar penggunaan SSH Key dengan password ini, mirip dengan tanpa password ikuti langkah-langkahnya di Menggunakan SSH Tanpa Memasukkan passphrase Private Key

Join the Conversation

1 Comment

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