April 19, 2012

Copy File Menggunakan Scp Tanpa Menggunakan Password

scp
Scp adalah fasilitas untuk mengcopy file melalui network yang secara default ada di sistem operasi linux, tetapi jika ingin mengcopy file melalui fasilitas scp , kita selalu diminta untuk memsaukkan password.  Scp secara default memakai port yang sama dengan ssh yaitu port 22.

Perintan scp biasa dipakai orang untuk mengirim file antar dua host yang terkadang mempunyai nama user yang sama. Memang terasa agak mengganggu jika setiap saat ketika kita mengirim file dari satu host ke host yang lain dengan user yang sama dan selalu diminta untuk memasukkan password, apalagi jika kita ingin mengirimkan backup file yang rencananya akan dijalankan secara otomatis menggunakan software seperti crontab.

Disini akan coba dijelaskan bagaimana untuk melakukan copy file menggunakan scp tanpa menggunakan password diantara dua host yang berbeda. Katakanlah host sumber dengan nama host-1 dan target host adalah host-2, transfer file akan dilakukan dari host-1 ke host-2.

Langkah-langkah :

1. Pada host-1 jalankan perintah sebagai user untuk scp dan ssh
   $ ssh-keygen -t rsa (sudo ssh-keygen -t rsa pada ubuntu)
   Ini akan meminta passphrase.
   Tekan enter saja, akan tergenerate private key (identification) dan public key.
   Ingat jangan pernah sharing private key dan public key tersebut dengan siapapun.
   Secara default, ssh-keygen akan menyimpan private key dan public key
   di direktori ~/.ssh/id_rsa.pub
   Untuk jelasnya dapat dilihat di <home_dir_anda> /.ssh/id_rsa.pub

2. Pindahkan  id_rsa.pub file tersebut ke host-2 , bisa menggunakan ftp , scp atau cara yang lainnya.
 
3. Di host-2, login menggunakan  remote user yang rencananya nanti akan anda gunakan untuk mengirim atau mentransfer file dari host-1.
   Copy isi dari file id_rsa.pub ke ~/.ssh/authorized_keys
   $ cat id_rsa.pub >> ~/.ssh/authorized_keys
   $ chmod 600 ~/.ssh/authorized_keys
   Jika file tersebut tidak ada, maka perintah diatas akan membuatnya secara otomatis.

4. Secara default beberapa server ssh tidak mengizinkan root untuk login, jika anda ingin melakukan ini menggunakan root, jangan lupa untuk memastikan di dalam /etc/ssh/sshd_config untuk mengkonfigurasi permit  login menggunakan root dan restart ssh server setiap anda melakukan perubahan konfigurasi.

Saya rasa cukup demikian, sekarang anda bisa mencoba untuk login dari host-1 ke host-2 menggunakan account yang anda konfigurasi diatas, jika sudah tidak memina password lagi berarti ssh dan scp tanpa menggunakan password dari host-1 ke host-2 telah berjalan dengan baik.

Artinya melakukan copy file pada sistem Linux antara dua server yang berbeda telah bisa sobat lakukan, copy file between two host without password.

Selamat mencob dan terima kasih.

No comments:

Post a Comment