Cara Setting Login SSH Tanpa Password
Akses SSH bisa kok tanpa menggunakan password dengan kunci private dan pubic key sehingga tanpa perlu repot-repot memasukan password lagi di terminal. Sebelum menggunakan cara ini, pastikan kalian sudah mempunyai user (bukan root) di sisi server untuk akses ssh nantinya. SSH Tanpa Password bisa buat dengan perintah berikut
ssh-keygen -t rsa
Opsi -t berarti type (tipe/jenis), sedangkan RSA adalah protokol yang digunakan untuk membuat kunci. RSA merupakan tipe default, tapi Anda bisa menggunakan perintah yang lebih sederhana, yaitu ssh-keygen.
Nilai (value) kunci default ini adalah 2048 bit. Namun, jika menginginkan keamanan yang lebih kuat, Anda bisa menggantinya menjadi 4096 bit. Untuk hal ini, gunakan perintah berikut di sisi client /PC Local.
ssh-keygen -t rsa -b 4096
Ketikan saja perintah tersebut dan enter saja jika ada pertanyaan. Jika ingin menggunakan nilai default, cukup tekan enter untuk kedua pertanyaan ini. Passphrase atau frasa sandi berfungsi untuk mengenkripsi kunci privat; tapi langkah ini tidak wajib dan boleh kosong.
- Kunci privat akan disimpan di lokasi default, yaitu .ssh/id_rsa.
- Kunci publik akan disimpan di dalam file .ssh/id_rsa.pub. Selesai! Anda sudah berhasil membuat kunci
Lokasi folder .ssh biasanya bisa kita akses di user yaitu ~/.ssh. file kunci id_rsa.pub itu yang akan kita copy ke sisi server nantinya. Misalkan di sisi client berlokasi di folder /Users/user/.ssh
Untuk menyalinnya dengan cara yang paling mudah yaitu via terminal
Sintaksis dasar untuk menggunakan perintah ini adalah:
ssh-copy-id remote_username@remote_IP_Address
misalkan ssh-copy-id pamungkas@103.179.200.441
Kemudian, akan muncul permintaan untuk kata sandi perangkat remote. Setelah autentikasi berhasil, kunci publik SSH yang dihasilkan akan ditambahkan ke file di sisi server yaitu .ssh/authorized_keys perangkat remote dengan lokasi misalkan /home/pamungkas/.ssh; . Setelah Anda membuat perintah diatas, koneksi akan otomatis ditutup.
Harusnya sih antara isi file client .ssh/id_rsa.pub dengan sisi server .ssh/authorized_keys isinya sama!
Setelah sudah kita lakukan diatas, mari kita coba perintah ssh pamungkas@103.179.200.441
seharusnya tidak diminta password lagi!
Autossh untuk persisten koneksi SSH
Setelah kita bisa login ssh tanpa password, kita bisa menggunakan autossh untuk menjaga ssh nya tetap persisten koneksinya!
autossh -M 8088 pamungkas@103.179.200.441
perintah -M 8088 adalah port untuk monitoring koneksi SSH nya. https://medium.com/@dataq/membuat-persistent-ssh-tunnel-menggunakan-autossh-dan-systemctl-98fd44d733a9
Menggunakan SSH untuk tunneling
SSh juga bisa manfaatkan untuk tunneling, misalkan kita akan meng online kan server kita dirumah, kalian bisa kok menggunakan perintah di terminal client yang menjalankan server dirumah.
ssh -R 3000:localhost:80 pamungkas@103.179.200.441
artinya ketika kita alamat 103.179.200.441:3000 maka secara otomatis akan membuka port 80 di sisi client.
Remote PC dengan SSH Reverse Port Forward dan Tunneling Melalui via VPS