Recherche de site Web

Comment copier des fichiers avec Rsync sur SSH


Étape 1 - Configurer les clés SSH publiques

Sur notre serveur d'origine, nous allons générer des clés SSH publiques sans mot de passe :

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

Ceci est notre clé SSH publique qui peut être placée sur d'autres hôtes pour nous donner accès :

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

Copiez cette clé dans votre presse-papiers et connectez-vous à votre serveur de destination.

Placez cette clé SSH dans votre fichier ~/.ssh/authorized_keys :

Si votre dossier SSH n'existe pas, créez-le manuellement :

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

Étape 3 - Synchroniser les fichiers

Rsync est un excellent utilitaire, car il vous permet, entre autres, de copier des fichiers de manière récursive avec compression, et sur un canal chiffré.

Nous allons copier un fichier de notre serveur d'origine (198.211.117.101) dans /root/bigfile.txt vers notre serveur de destination (IP : 198.211.117.129) et le sauvegarder également dans /root/bigfile.txt.

Connectez-vous sur 198.211.117.101 et synchronisez le fichier sur 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 vous utilisez un autre utilisateur, par exemple "nomdutilisateur", alors vous devrez l'ajouter devant le serveur de destination. Assurez-vous d'avoir votre clé publique dans le fichier ~/.ssh/authorized_keys de cet utilisateur :

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

Les options SSH sont utiles pour garder Rsync silencieux et ne pas demander à chaque fois que vous vous connectez à un nouveau serveur.

Vérifiez que vous avez reçu le fichier sur le serveur de destination (198.211.117.129) :

ls -la /root/bigfile.txt

Et vous avez terminé !