Untuk meremote server lewat SSH, Anda bisa menggunakan autentikasi password atau menggunakan SSH Key. Mengakses server dengan menggunakan SSH Key, Anda tidak perlu lagi mengetikkan password dan umumnya lebih aman daripada menggunakan autentikasi password.
Secara garis besar untuk mengaktifkan SSH Key, prosesnya adalah sebagai berikut:
1. Generate key pair, yaitu Private Key beserta Public Key-nya (Generate key pair bisa dilakukan di Linux maupun Windows)
2. Copy Public Key pada server yg akan diremote ( ke folder file .ssh/authorized_keys didalam user home atau ~/.ssh/authorized_keys )
3. Yg Anda simpan adalah Private Key, nantinya akan Anda gunakan untuk meremote server yg sudah memiliki key pair Public-nya.
4. Matikan autentikasi password (Optional)
Under Linux
1. Generate Key Pair
# ssh-keygen -t rsa -b 4096 |
Setelah menginput command diatas, Anda akan mendapatkan output sebagai berikut:
Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa): |
Selanjutnya Anda akan mendapatkan output sebagai berikut:
Enter passphrase (empty for no passphrase): Enter same passphrase again: |
Selanjutnya Anda akan mendapatkan output konfirmasi mengenai keberhasilan generate key pair tersebut:
Your identification has been saved in /root/.ssh/id_rsa. Your public key has been saved in /root/.ssh/id_rsa.pub. The key fingerprint is: SHA256:ILw+iey3EEo6XnOVOgtnmkiG1bo4p2pV/RMFtlYxHvM root@mytest The key's randomart image is: +---[RSA 4096]----+ | o.*. | | . . +.= | | o o o.. E | | . + oo. | | .o + oS . | |++ * .o o | |=o*++* . | |==+oX.o | |**o+.o | +----[SHA256]-----+ |
Apabila server yg hanya akan Anda remote adalah server tempat Anda meng-generate keypair diatas. Maka proses-nya sudah selesai sampai disini dan Anda tinggal mengcopy/mendownload file /root/.ssh/id_rsa (Private Key) ke PC Anda dan paste Public Key-nya ke file ~/.ssh/authorized_keys dengan command berikut:
# cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys |
2. Meng-copy Public Key ke server-server Linux yg akan Anda remote
Pada dasarnya server-server yang akan diremote menggunakan Private Key akan berfungsi apabila Public Key-nya sudah di-allow pada server2 tersebut (server yg akan diremote).
Untuk menginstall / meng-allow Public Key tersebut, Anda cukup mem-paste Public Key-nya ke file ~/.ssh/authorized_keys
Proses peng-copy-an Public Key ke server-server yg akan diremote cukup menggunakan command :
# ssh-copy-id username@remote_host |
Contoh output-nya adalah sebagai berikut:
# ssh-copy-id root@192.168.1.2 /usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub" The authenticity of host '192.168.1.2 (192.168.1.2)' can't be established. ECDSA key fingerprint is SHA256:JTPn0J751cuYQZ2TDJok7sM8+sMSwihHRZ9A7qcHYcU. ECDSA key fingerprint is MD5:26:30:32:a1:e7:2d:4e:5c:86:c3:0c:09:1b:23:b6:b0. Are you sure you want to continue connecting (yes/no)? yes |
3. Login SSH ke server-server yg sudah Anda copy-kan public key-nya menggunakan private key yg Anda miliki
Setelah Anda meng-copy Private Key ke PC Anda dari hasil generate langkah nomor 1 diatas. Anda bisa mencobanya sebagai berikut.
4. Matikan autentikasi password (Optional)
Setelah Anda test bisa login dengan baik. Langkah ini optional supaya lebih aman dengan mematikan autentikasi password, sehingga siapapun yg mencoba brute-force dengan mencoba-coba password tidak bisa dilakukan (langsung closed).
Edit file /etc/ssh/sshd_config
# vi /etc/ssh/sshd_config |
Kemudian cari directive berikut dan rubah nilai-nya menjadi berikut:
PasswordAuthentication no ChallengeResponseAuthentication no UsePAM no |
Restart service SSH-nya:
# systemctl restart sshd |