Cara Login SSH Server tanpa Password (Key-Pair Authentication)

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:

Basic Process of SSH Private & Public Key
Basic Process of SSH Private & Public Key

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:

  1. 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.

  2. 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
    Process Generate SSH Key
    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 lukman@192.168.56.103
Transfer SSH Public Key to Server
Transfer SSH Public Key to Server

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 root@192.168.56.103

About Ahmad Lukman Hakim 76 Articles
Admin LUKMANLAB, Network Engineer, System Administrator.