Ketika kita login ke SSH Server biasanya butuh password. Setelah password dimasukkan sesuai dengan password user kita baru dapat login ke server.
Proses seperti ini sangat umum dilakukan oleh para system administrator untuk remote server mereka. Namun, ada cara yang lebih baik dibandingkan cara biasa seperti tadi.
Caranya dengan melakukan key-pair antara ssh-client dan ssh-server. Ilustrasi dasarnya seperti gambar berikut:
1. Persiapan Private dan Public Key
00:20:00 20 minutes
Jadi, jika kita ingin login ke SSH Server tanpa Password, yang perlu dipersiapkan adalah:
- SSH Client
Anda perlu aplikasi ssh client untuk terhubung ke ssh server. Instalasinya cukup mudah, silahkan buka Terminal (CTRL + Alt + T), kemudian execute perintah:
$ sudo apt-get install openssh-client
. Pada sistem operasi Windows anda cukup menggunakan aplikasi Putty. - Private Key dan Public Key
Untuk membuat atau generate Private & Public Key tidaklah sulit, anda cukup execute perintah:
$ ssh-keygen -t rsa
PERINGATAN: Sebelum anda melakukan generate key ssh, silahkan lihat key ssh anda terlebih dahulu:ls ~/.ssh
, jika sudah ada maka anda TIDAK perlu generate lagi.$ ssh-keygen -t rsa
Setelah selesai, hasil generate berada di ~/.ssh:├── .ssh
│ ├── id_rsa
│ └── id_rsa.pub
Jadi, ada 2 file: id_rsa (Private Key) id_rsa.pub (Public Key). Pada sistem operasi windows silahkan gunakan aplikasi Puttygen untuk generate Private & Public Key.
2. Tranfer Public Key
Setelah private dan public key disiapkan, langkah selanjutnya adalah transfer / copy public key (id_rsa.pub) ke server tujuan yang akan anda remote.
Disini saya ingin melakukan koneksi ssh dari komputer lokal saya, saya menggunakan user biasa: lukman
ke remote server dengan alamat ip address: 192.168.56.103
user: lukman
.
Maka command transfer ssh nya adalah sebagai berikut:
$ ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]
Proses transfer public ke diatas, pada server akan disimpan pada file /home/lukman/.ssh/authorized_keys
. Jika file tersebut anda hapus, maka anda perlu melakukan copy ulang public key ssh.
Jika ingin remote user root
tanpa password anda tinggal ganti user remote server dengan root
user.
Namun, perlu dipastikan lagi bahwa anda sebelumnya harus bisa login root
user terlebih dahulu “biasanya perlu edit file sshd_config
dan menjadikan PermitRootLogin yes
– Restart SSH.
$ ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]
Admin LUKMANLAB, DevOps Engineer, Site Reliability Engineer, System Administrator.
5 thoughts on “Cara Login SSH Server tanpa Password (Key-Pair Authentication)”