Mengelola server lebih dari satu tentu merupakan kesibukan yg tidak biasa. Pastinya akan sering dibutuhkan login dari satu server ke server lain secara cepat dan tentunya aman. Misalnya dari server hosting mau login ke server database, atau server DNS atau server backup dst. Kalau mengandalkan catatan login dan password saat hendak login tentu ini tidak efisien.
Solusinya yaitu dengan melakukan setup ssh-keygen sehingga nanti bisa konek ke server yg dituju tanpa perlu contekan password. Contohnya anda adalah sysadmin yg pegang server A dengan ip 246.68.156.29.
Kemudian secara berkala juga akan sering login ke beberapa server misalnya ada 4 buah atau bahkan seratus server Linux dengan ip misalnya:
174.171.193.146
194.40.133.227
31.143.141.40
132.89.20.214
dst…
Saat sudah login ke server A, nantinya bisa dengan mudah login ke masing-masing server tsb tanpa mengisi password kecuali hanya sekali saja saat setup di awal, yg prosedurnya adalah sebagai berikut:
- Login root ke ssh server A, OK lanjut dengan command ssh-keygen
- Enter-enter terus aja sebanyak 3 kali tanpa menginput apapun
- Jika sudah muncul randomart image maka ssh-keygen sukses
- File key nya tersimpan di /root/.ssh/id_rsa.pub yg mana ini nanti perlu kita kirim ke server tujuan
- Lakukan command ssh-copy-id -i root/.ssh/id_rsa.pub 174.171.193.146
- Server akan memberi respon
The authenticity of host '174.171.193.146 (174.171.193.146)' can't be established. ECDSA key fingerprint is SHA256:dtb+agmaKdzntp+B0m1S2UR194ji8HE3cQsW3BJQOR4. ECDSA key fingerprint is MD5:b8:da:fe:8d:2c:f2:3f:e0:51:86:3f:17:fc:5c:2e:8b. Are you sure you want to continue connecting (yes/no)?
- Jawab dengan ketik yes
- Isikan password root server 174.171.193.146
- Akan muncul output begini
Number of key(s) added: 1 Now try logging into the machine, with: "ssh '174.171.193.146'" and check to make sure that only the key(s) you wanted were added.
- Ulangi command nomor 6 di atas untuk tiap ip server berikutnya (command ssh-keygen TIDAK diulang).
Dengan menggunakan ssh-keygen seperti ini, dari server A dapat melakukan koneksi ssh ke server-server yg ada pada contoh cukup dengan jalankan perintah
ssh 174.171.193.146
ssh 194.40.133.227
dst…
(demikian pula jika ingin konek ke server lainnya). Dan tidak perlu lagi mengisikan password server tsb.
TIPS:
- Perintah ssh-keygen tidak diulang-ulang untuk tiap server lain yg akan dikonek ya, jadi hanya sekali dijalankan saja seumur hidup server A. Jika server A rebuild/reinstal OS maka tentu saja key yg sudah dibikin akan hilang dan perlu setup ssh-keygen kembali
- Jika VPS tujuan tidak menggunakan port default 22 untuk menerima koneksi ssh maka perintah ssh-copy-id nya menjadi: ssh-copy-id -i ‘-p 9977 174.171.193.146’ (di mana 9977 adalah port aktif ssh server tsb)
- Koneksi password-less ssh tetap akan bisa dijalankan meski server tujuan berganti password
- Hasil perintah ssh-copy-id di server tujuan akan tersimpan di /root/.ssh/authorized_keys, jika file ini dihapus maka proses nomor 5 harus diulang.