Quiero configurar un trabajo RSync que se conecte a través de SSH.
Tengo mi computadora (backup @ myhost) y el host remoto (test @ remhost) y necesito hacer una copia de seguridad de la carpeta ~ / algo con todo su contenido. La prueba de usuario ssh solo tiene acceso de LECTURA a todos los archivos y carpetas en la carpeta ~ /. Quiero usar rsync para copiar la carpeta test @ remhost: ~ / something en la carpeta backup @ myhost: ~ / bak.
Para este propósito, uso el siguiente comando a través de BASH en Ubuntu 11.10 (Oneiric):
rsync -avz -e ssh test@remhost:~/something/ ~/bak/
Después de presionar enter me sale esto:
test@remhost's password:
Escribo la contraseña y el rsync funciona.
Quiero hacer el comando anterior para ingresar automáticamente la contraseña y pasarla como parámetro o ingresarla automáticamente e iniciar el trabajo.
Intenté ejecutar rsync -avz -e ssh test:password@remhost:~/something/ ~/bak/
pero todavía me pide la contraseña y es molesto.
No quiero escuchar sobre ningún tipo de claves (RSA, DSA o cualquier otra). Solo quiero un comando simple que me conecte y haga el trabajo.
EDITAR: Un posible escenario podría ser, si la autenticación de clave pública está deshabilitada y no puede cambiar esto. Por ejemplo, si usa OpenSSH, necesitaría privilegios de root en el servidor para editar el archivo sshd_config
y agregarlo PubkeyAuthentication yes
.
EDITAR: Esto es lo que finalmente funcionó para mí:
sshpass -p 'sshpassword' rsync --progress -avz -e ssh test@remhost:~/something/ ~/bak/
Tenga en cuenta que este método no se considera seguro, ya que envía la contraseña en texto sin formato y es vulnerable a los ataques de hombre en el medio. Se recomienda utilizar la clave de autenticación para una mayor seguridad.