Voglio impostare un lavoro RSync che si connetterebbe tramite SSH.
Ho il mio computer (backup @ myhost) e l'host remoto (test @ remhost) e ho bisogno di eseguire il backup della cartella ~ / qualcosa con tutto il suo contenuto. Il test utente ssh ha accesso READ solo a tutti i file e cartelle nella cartella ~ /. Voglio usare rsync per copiare la cartella test @ remhost: ~ / qualcosa nella cartella backup @ myhost: ~ / bak.
A tale scopo utilizzo il seguente comando tramite BASH su Ubuntu 11.10 (Oneiric):
rsync -avz -e ssh test@remhost:~/something/ ~/bak/
Dopo aver premuto invio ottengo questo:
test@remhost's password:
Digito la password e rsync funziona.
Voglio fare il comando sopra per inserire automaticamente la password e passarla come parametro o per inserirla automaticamente e iniziare il lavoro.
Ho provato a eseguire rsync -avz -e ssh test:password@remhost:~/something/ ~/bak/
ma richiede ancora la password ed è fastidioso.
Non voglio conoscere alcun tipo di chiave (RSA, DSA o qualsiasi altra). Voglio solo un semplice comando che mi acceda e faccia il lavoro.
EDIT: un possibile scenario potrebbe essere, se l'autenticazione con chiave pubblica è disabilitata e non è possibile modificarla. Ad esempio, se usi OpenSSH, avresti bisogno dei privilegi di root sul server per modificare il file sshd_config
e aggiungere PubkeyAuthentication yes
.
EDIT: Questo è ciò che finalmente ha funzionato per me:
sshpass -p 'sshpassword' rsync --progress -avz -e ssh test@remhost:~/something/ ~/bak/
Si noti che questo metodo non è considerato sicuro in quanto invia la password in testo normale ed è vulnerabile agli attacchi man-in-the-middle. Si consiglia di utilizzare la chiave di autenticazione per una maggiore sicurezza.