Cómo copiar archivos con Rsync a través de SSH
Paso 1: Configurar claves SSH públicas
En nuestro servidor de origen, generaremos claves SSH públicas sin contraseña:
ssh-keygen -f ~/.ssh/id_rsa -q -P ""gato ~/.ssh/id_rsa.pub
Esta es nuestra clave SSH pública que se puede colocar en otros hosts para darnos acceso:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDLVDBIpdpfePg/a6h8au1HTKPPrg8wuTrjdh0QFVPpTI4KHctf6/FGg1NOgM++hrDlbrDVStKn/b3Mu65//tuvY5SG9sR4vrINCSQF++a+YRTGU6Sn4ltKpyj3usHERvBndtFXoDxsYKRCtPfgm1BGTBpoSl 2A7lrwnmVSg+u11FOa1xSZ393aaBFDSeX8GlJf1SojWYIAbE25Xe3z5L232vZ5acC2PJkvKctzvUttJCP91gbNe5FSwDolE44diYbNYqEtvq2Jt8x45YzgFSVKf6ffnPwnUDwhtvc2f317TKx9l2Eq4aWqXTOMiPFA5ZRM/CF0IJCqeXG6s+qVfRjB raíz @cloudads
Copie esta clave en su portapapeles e inicie sesión en su servidor de destino.
Coloque esta clave SSH en su archivo ~/.ssh/authorized_keys:
Si su carpeta SSH no existe, créela manualmente:
mkdir ~/.sshchmod 0700 ~/.sshtoque ~/.ssh/authorized_keyschmod 0644 ~/.ssh/claves_autorizadas
Paso 3 – Sincronizar archivos
Rsync es una gran utilidad, ya que permite, entre muchas otras cosas, copiar archivos recursivamente con compresión y sobre un canal encriptado.
Copiaremos un archivo de nuestro servidor de origen (198.211.117.101) en /root/bigfile.txt a nuestro servidor de destino (IP: 198.211.117.129) y lo guardaremos también en /root/bigfile.txt.
Inicie sesión en 198.211.117.101 y sincronice el archivo con 198.211.117.129:
rsync -avz -e "ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null" --progress /root/bigfile.txt 198.211.117.129:/root/
Si utiliza un usuario diferente, por ejemplo “nombre de usuario”, deberá agregarlo antes del servidor de destino. Asegúrese de tener su clave pública en el archivo ~/.ssh/authorized_keys de ese usuario:
rsync -avz -e "ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null" --progress /root/bigfile.txt nombredeusuario@198.211.117.129:/
Las opciones de SSH son útiles para mantener Rsync silencioso y sin que te pregunte cada vez que te conectas a un nuevo servidor.
Verifique que haya recibido el archivo en el servidor de destino (198.211.117.129):
ls -la /root/bigfile.txt
¡Y ya está todo listo!
Por Bulat Khamitov
Deja una respuesta