SSH üzerinden bağlanacak bir RSync işi ayarlamak istiyorum.
Bilgisayarım (backup @ myhost) ve uzak ana bilgisayar (test @ remhost) var ve tüm içeriği ile ~ / bir şey klasörünü yedeklemem gerekiyor. Ssh kullanıcı sınaması yalnızca ~ / klasöründeki tüm dosya ve klasörlere READ erişimine sahiptir. Test @ remhost: ~ / bir şey klasörünü backup @ myhost: ~ / bak klasörüne kopyalamak için rsync kullanmak istiyorum.
Bu amaçla Ubuntu 11.10'da (Oneiric) BASH ile aşağıdaki komutu kullanıyorum:
rsync -avz -e ssh test@remhost:~/something/ ~/bak/
Enter tuşuna bastıktan sonra şunu alıyorum:
test@remhost's password:
Şifreyi yazıyorum ve rsync çalışıyor.
Şifreyi otomatik olarak girmek ve parametre olarak iletmek veya otomatik olarak girmek ve işi başlatmak için yukarıdaki komutu yapmak istiyorum.
Çalıştırmayı denedim rsync -avz -e ssh test:password@remhost:~/something/ ~/bak/
ama yine de şifre istiyor ve sinir bozucu.
Herhangi bir tuş (RSA, DSA veya başka herhangi bir anahtar) hakkında duymak istemiyorum. Sadece oturum açıp işi yapacak basit bir komut istiyorum.
EDIT: Ortak anahtar kimlik doğrulaması devre dışı bırakılmışsa ve bunu değiştiremezseniz, olası bir senaryo olabilir. Örneğin, OpenSSH kullanıyorsanız, dosyayı düzenlemek sshd_config
ve eklemek için sunucuda kök ayrıcalıklarına sahip olmanız gerekir PubkeyAuthentication yes
.
EDIT: Sonunda benim için çalıştı:
sshpass -p 'sshpassword' rsync --progress -avz -e ssh test@remhost:~/something/ ~/bak/
Bu yöntemin şifreyi düz metin olarak gönderdiği ve ortadaki adam saldırılarına karşı savunmasız olduğu için güvenli kabul edilmediğini lütfen unutmayın. Daha güçlü bir güvenlik için kilit yetkilendirmenin kullanılması tavsiye edilir.