Saat ini Excellent mengelola server-server klien dalam jumlah yang cukup banyak. Menghapalkan passwordnya satu persatu tentu akan membutuhkan ingatan kuat dan catatan yang terus menerus diupdate. Untuk mengatasi hal ini, saya memilih cara lain untuk memudahkan prosesnya, yaitu menyiapkan server khusus dengan akses terbatas yang digunakan sebagai gateway server dalam melakukan koneksi secara remote.
Dari server khusus ini, saya melakukan setting agar koneksi SSH bisa dilakukan tanpa menggunakan password. Jadi cukup mengetahui password utama sudah cukup melakukan koneksi ke berbagai server. Bagaimana caranya? Cukup dengan menjalankan prosedur sebagai berikut :
1. Buat Public dan Private Keys pada server yang digunakan sebagai media remote.
ssh-keygen
Hasilnya seperti ini :
# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
4e:61:21:b4:5a:72:32:f3:f6:c9:d0:b0:fb:da:55:40 [MD5] toyotomi@server-utama
The key’s randomart image is:
+–[ RSA 2048]—-+
| .o . E |
| o o |
| = = o . |
| X = . . |
| . = S . |
| . B . . |
| . = . |
| o . |
| ..o |
+–[MD5]———-+
Pada saat dimintakan “Passphrase”, masukkan password utama yang akan digunakan sebagai lapis terakhir konfirmasi password. Jika bagian ini dikosongkan (ditekan ENTER), maka perintah SSH ke server lain tidak akan diminta password sama sekali 🙂
2. Salin file public keys ke server tujuan, dengan perintah :
ssh-copy-id -i ~/.ssh/id_rsa.pub server-tujuan
Contoh :
ssh-copy-id -i ~/.ssh/id_rsa.pub 202.212.222.234
Setelah selesai, kita bisa melakukan ujicoba koneksi SSH dengan perintah :
ssh server-tujuan
Semestinya sudah tidak lagi ditanyakan password.
CATATAN :
- SSH menggunakan default port 22. Jika menggunakan port selain 22, jalankan perintah SSH dengan parameter -p seperti contoh berikut :
ssh -p 10212 ip-server-tujuan
- Perintah ssh-copy-id juga menggunakan default port 22. Jika menggunakan port selain 22, jalankan perintah SSH dengan parameter -p seperti contoh berikut :
ssh-copy-id -i ~/.ssh/id_rsa.pub 202.212.222.234 -p 10212
Selain bisa dimanfaatkan untuk koneksi ke server lain tanpa password, konfigurasi diatas juga bisa dimanfaatkan jika kita ingin melakukan proses penyalinan data/backup secara otomatis, baik menggunakan perintah scp maupun rsync. Koneksi trusted antar server akan membuat proses backup data lebih mudah dilakukan tanpa password.
Berikut adalah contoh perintah scp untuk menyalin suatu file dari satu server ke server lain :
scp /opt/data-vavai.zip root@202.212.222.234:/srv/vavai/
Sedangkan perintah berikut merupakan perintah backup jika menggunakan perintah rsync dalam bentuk mekanisme push (dijalankan dari server yang hendak dibackup) :
rsync -av --progress /opt/ root@202.212.222.234:/srv/vavai/
Untuk pembahasan mengenai rsync secara detail dan manfaatnya bagi proses manajemen backup data server mudah-mudahan bisa saya tuliskan dilain waktu.
4 Comments
alternatif : ssh-copy-id “202.212.222.234 -p 10212”
[…] view sourceprint? 1.ssh-keygen […]
[…] view sourceprint? 1.ssh-keygen […]
[…] Saat perintah diatas dijalankan, sshfs akan melakukan koneksi ssh dan meminta masukan password. Agar bisa diakses oleh user normal (bukan root), perintah sshfs diatas harus dijalankan dengan user tersebut. Jika dijalankan oleh user root, hasil mounting hanya bisa diakses oleh user root juga. Jika proses mount ingin berjalan secara otomatis tanpa butuh masukkan password, lakukan setting SSH tanpa password dengan merujuk pada panduan ini : Panduan Konfigurasi SSH tanpa Password […]