Untuk mempermudah proses backup antar server, maka saya menggunakan beberapa cara yang bagi saya sendiri sangatlah membantu, cara tersebut adalah login dan copy file ke server lain tanpa harus memasukan password.
Untuk bisa menggunakan cara tersebut, yang pertama adalah harus punya akun user di server yang akan kita remot, lalu yang kedua, protokol SSH di server juga harus terbuka, sehingga ketika kita melakukan login manual dengan password tidak ada halangan.
Kalau semuanya sudah ok, silahkan ikuti langkah-langkah berikut supaya bisa login dan copy file ke server tanpa memasukan password.
Baca juga : Cara Mengganti Port SSH Pada Ubuntu / Debian
1. Buat public key dan private keys menggunakan ssh-keygen pada kompter client
Sebelum membuat public key, ada sedikit informasi tambahan mengenai algoritma enksipsi yang bisa digunakan. Secara default, algoritma enkripsi yang digunakan adalah RSA. RSA (Rivest – Shamir – Adleman) adalah salah satu cryptosystem kunci publik pertama dan secara luas digunakan untuk transmisi data yang aman. Keamanan itu bergantung pada faktorisasi bilangan bulat, jadi RNG (Random Number Generation) yang aman tidak pernah diperlukan. Dibandingkan dengan DSA, RSA lebih cepat untuk validasi tanda tangan tetapi lebih lambat untuk pembangkitan.
Selain itu ada juga ada juga Ed25519, yang merupakan skema tanda tangan EdDSA, tapi menggunakan SHA-512/256 dan Curve25519. Ed25519 menawarkan keamanan yang lebih baik dari DSA, ECDSA, & EdDSA, plus memiliki performa yang lebih baik (tidak terlihat secara manusiawi).
Kunci RSA ini adalah yang paling banyak digunakan, dan tampaknya paling didukung. Untuk menggunakan kunci ini, anda cukup menggunakan perintah ssh-keygen tanpa ditambah yang lain, contohnya:
ssh-keygen
Enter file in which to save the key (/home/ruswan/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
PENTING! Ada 2 kunci yang dbuat disini (PRIVATE dan PUBLIC): Contoh akan menjadi id_rsa dan id_rsa.pub. Pastikan Anda benar-benar menjaga file id_rsa (PRIVATE KEY), hanya simpan di perangkat Anda dan JANGAN berikan kepada ORANG LAIN.
Baca juga : Cara Transfer / Copy File ke Server atau Sebaliknya Menggunakan SSH
Meski penggunaan ekripsi standar SSH yaitu RSA sudah terbilang aman, tapi ada enkripsi baru yang tak kalau aman, bahkan banyak yang menyebutnya lebih baik, yaitu enkripsi Ed25519 (setidaknya butuh OpenSSL versi 6.5 keatas, karena untuk OpenSSL dibawahnya belum mendukung enkripsi tersebut).
Untuk menggunakan enkripsi yang berbeda, kamu dapat menambahkan argumen -t beserta metode enkripsi yang anda ingin pakai. Contoh ketika hendak menggunakan enkripsi Ed25519, perintahnya adalah:
ssh-keygen -t ed25519
Tapi supaya namanya berbeda, maka bisa menambahkan -f
ssh-keygen -t ed25519 ~/.ssh/id_ed25519
Atau kalau mau secara lengkapnya bisa seperti ini:
ssh-keygen -o -a 600 -t ed25519 -f ~/.ssh/id_ed25519 -C "[email protected]"
bagian username diganti dengan username di server dan bagian domain.tld diganti dengan domain server atau IP server.
Penggunaan enkripsi Ed25519 lebih disarankan
2. Salin kunci publik ke remote host / server menggunakan ssh-copy-id
Sebagai contoh seandainya alamat IP server saya adalah 201.324.234.121 dengan user yang saya pakai untuk remot adalah "ruswan", maka perintah yang digunakan untuk meng-copy ssh key ke server adalah:
ssh-copy-id [email protected]
Baca juga : Membuat, Mengubah, dan Menghapus User PostgreSQL di Terminal Ubuntu
3. Coba Logi ke Server
Setelah berhasil menyalin key ke server, silahkan login menggunakan perintah dibawah ini, harusnya anda langsung login tanpa memasukan password terlebih dahulu.
ssh [email protected]
Selesai deh, mudah kan cara login ke ke server menggunakan SSH tanpa perlu memasukan password. Kalau sudah begitu, kamu juga bisa menyalin file atau folder ke server tanpa perlu lagi memasukan password.
Nah kalau digunakan untuk membackup data dari satu server ke server lain, tinggal gunakan saja crontab untuk mengeksekusi perintah scp atau rsync secara terjadwal. Tutorial mengenai cara penggunaan scp dan rsync bisa kamu baca di artikel Cara Transfer / Copy File ke Server atau Sebaliknya Menggunakan SSH.
Sekian tutorial mengenai cara login SSH tanpa password, kalau ada yang mau didiskusikan, silahkan tuliskan saja di kolom komentar.
Rerefensi:
http://madarawebsolutions.com/questions/ 1138/apa-perbedaan-antara-kunci-rsa-dsa- dan-ecdsa-yang-digunakan-ssh
https://www.ssh.com/ssh/keygen/