Saya ingin mengatur pekerjaan RSync yang akan terhubung melalui SSH.
Saya memiliki komputer saya (backup @ myhost) dan host jarak jauh (test @ remhost) dan saya perlu membuat cadangan folder ~ / sesuatu dengan semua isinya. Tes pengguna ssh hanya memiliki akses BACA ke semua file dan folder di folder ~ /. Saya ingin menggunakan rsync untuk menyalin test @ remhost: ~ / folder sesuatu ke cadangan @ myhost: ~ / folder bak.
Untuk tujuan ini saya menggunakan perintah berikut melalui BASH di Ubuntu 11.10 (Oneiric):
rsync -avz -e ssh test@remhost:~/something/ ~/bak/
Setelah menekan enter saya mendapatkan ini:
test@remhost's password:
Saya mengetik kata sandi dan rsync berfungsi.
Saya ingin membuat perintah di atas untuk secara otomatis memasukkan kata sandi dan meneruskannya sebagai parameter atau untuk memasukkannya secara otomatis dan memulai pekerjaan.
Saya mencoba menjalankan rsync -avz -e ssh test:password@remhost:~/something/ ~/bak/
tetapi masih meminta kata sandi dan itu menjengkelkan.
Saya tidak ingin mendengar tentang kunci apa pun (RSA, DSA, atau lainnya). Saya hanya ingin perintah sederhana yang akan masuk saya dan melakukan pekerjaan.
EDIT: Skenario yang mungkin terjadi, jika otentikasi kunci publik dinonaktifkan dan Anda tidak dapat mengubahnya. Misalnya, jika Anda menggunakan OpenSSH, Anda akan memerlukan hak akses root di server untuk mengedit file sshd_config
dan menambahkan PubkeyAuthentication yes
.
EDIT: Inilah yang akhirnya berhasil untuk saya:
sshpass -p 'sshpassword' rsync --progress -avz -e ssh test@remhost:~/something/ ~/bak/
Harap dicatat bahwa metode ini tidak dianggap aman karena mengirim kata sandi dalam teks biasa dan rentan terhadap serangan manusia-di-tengah. Disarankan untuk menggunakan penghentian kunci untuk keamanan yang lebih kuat.