Ricerca nel sito web

Come copiare file con Rsync su SSH


Passaggio 1: configurare le chiavi SSH pubbliche

Sul nostro server di origine, genereremo chiavi SSH pubbliche senza password:

ssh-keygen -f ~/.ssh/id_rsa -q -P ""
cat ~/.ssh/id_rsa.pub

Questa è la nostra chiave SSH pubblica che può essere posizionata su altri host per darci accesso:

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDLVDBIpdpfePg/a6h8au1HTKPPrg8wuTrjdh0QFVPpTI4KHctf6/FGg1NOgM++hrDlbrDVStKn/b3Mu65//tuvY5SG9sR4vrINCSQF++a+YRTGU6Sn4ltKpyj3usHERvBndtFXoDxsYKRCtPfgm1BGTBpoSl2A7lrwnmVSg+u11FOa1xSZ393aaBFDSeX8GlJf1SojWYIAbE25Xe3z5L232vZ5acC2PJkvKctzvUttJCP91gbNe5FSwDolE44diYbNYqEtvq2Jt8x45YzgFSVKf6ffnPwnUDwhtvc2f317TKx9l2Eq4aWqXTOMiPFA5ZRM/CF0IJCqeXG6s+qVfRjB root@cloudads

Copia questa chiave negli appunti e accedi al server di destinazione.

Inserisci questa chiave SSH nel tuo file ~/.ssh/authorized_keys:

Se la tua cartella SSH non esiste, creala manualmente:

mkdir ~/.ssh
chmod 0700 ~/.ssh
touch ~/.ssh/authorized_keys
chmod 0644 ~/.ssh/authorized_keys

Passaggio 3: terminare i file Rsync

Rsync è un'ottima utility, in quanto ti consente, tra molte altre cose, di copiare i file in modo ricorsivo con compressione e su un canale crittografato.

Copiamo un file dal nostro server di origine (198.211.117.101) in /root/bigfile.txt al nostro server di destinazione (IP: 198.211.117.129) e lo salviamo anche in /root/bigfile.txt.

Accedi a 198.211.117.101 e sincronizza il file su 198.211.117.129:

rsync -avz -e "ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null" --progress /root/bigfile.txt 198.211.117.129:/root/

Se stai utilizzando un utente diverso, ad esempio \username\, dovresti aggiungerlo davanti al server di destinazione. Assicurati di avere la tua chiave pubblica in quel file utenti ~/.ssh/authorized_keys:

rsync -avz -e "ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null" --progress /root/bigfile.txt username@198.211.117.129:/

Le opzioni SSH sono utili per mantenere Rsync silenzioso e non chiedere conferma ogni volta che ti connetti a un nuovo server.

Verifica di aver ricevuto il file sul server di destinazione (198.211.117.129):

ls -la /root/bigfile.txt

E hai finito!