Cara remote SSH menggunakan SSH key

Untuk melakukan login ke remote server menggunakan SSH biasanya kita menggunakan Password. Agar lebih aman, Password dapat diganti dengan Public Key. Public Key yang sudah dibuat di komputer dicopy ke folder ~/.ssh/authorized_keys pada server. Jika key yang ada di komputer tidak sama persis dengan key yang ada di server meskipun itu penambahan spasi, akan terjadi gagal login.

Konfigurasi

Sisi client

Generate key

ssh-keygen -t rsa

Pada pertanyaan pemilihan nama dan direktori Enter file in which to save the key (/home/user/.ssh/id_rsa): masukkan nama beserta path direktori dimana kita akan menyimpan file key

Enter file in which to save the key (/home/user/.ssh/id_rsa):/home/user/.ssh/namakey

Pada pertanyaan membuat passpharse isikan password jika ingin keamanan lebih, atau kosongkan saja dengan cara menekan enter

*Catatan: Password passpharse digunakan saat kita akan meremote, dengan kata lain sebelum menggunakan key kita harus memasukkan password telebih dahulu

Setelah meng-generate key akan menghasilkan 2 file (private key dan public key) pada direktori yang telah kita sesuaikan dengan nama yang telah kita sesuaikan diatas. Untuk file public key diakhiri dengan nama .pub

Sisi server

Buat folder dan file authorized_keys.

mkdir /home/user/.ssh/
nano /home/user/.ssh/authorized_keys

Salin isi dari public key yang telah di generate dari sisi client, lalu simpan.

Restart service SSH

sudo systemctl restart ssh

Pengujian

Sekarang login ke server seperti biasa, apakah masih meminta password atau langsung login.

ssh user@IPSERVER

Jika langsung bisa masuk tanpa memasukkan password berarti konfigurasi sudah berhasil

Atau bisa menyebut secara spesifik file key yang akan digunakan jika kita mempunyai lebih dari 1 key (bisa memakai private key atau public key)

ssh -i ~/.ssh/namakey user@IPSERVER

Mematikan password pada saat akan login

Ini berfungsi agar server yang hendak di remote hanya bisa diakses oleh perangkat yang mempunyai key

Edit file /etc/ssh/sshd_config

Pada parameter #PasswordAuthentication yes hilangkan tanda # dan ubah menjadi no, sehinnga menjadi seperti berikut

PasswordAuthentication no

Keterangan artikel

Tested on: Debian 10, Ubuntu 20.04
Sumber & refrensi: https://musaamin.web.id/cara-login-ssh-dengan-key-di-linux/