−25%

sur Windows en paiement annuel, jusqu'au 31/10. Voir les offres

EQVPS

Transférer des fichiers vers un VPS : scp, rsync et SFTP

Copiez des fichiers vers et depuis votre serveur avec scp, synchronisez de gros dossiers avec rsync et sa reprise, ou utilisez un client SFTP — y compris en NAT avec un port SSH personnalisé.

Tôt ou tard, il faut envoyer des fichiers sur le serveur : un build de site, un dump de base, une configuration écrite en local. Pas besoin de serveur FTP pour cela — SSH vous offre déjà trois bons outils. Tous les exemples utilisent des adresses de documentation ; remplacez-les par celles de votre serveur.

Connaître vos paramètres de connexion

scp : copier un fichier ou un dossier

Envoyer un fichier :

scp backup.sql root@203.0.113.10:/root/

En récupérer un :

scp root@203.0.113.10:/var/log/nginx/access.log .

Un dossier entier :

scp -r ./site root@203.0.113.10:/var/www/

Sur une offre NAT, ajoutez le port avec un -P majuscule :

scp -P 20123 backup.sql root@your-nat-host:/root/

rsync : le bon outil pour les dossiers

rsync n'envoie que les différences, affiche la progression et reprend si la connexion tombe. Il doit être installé des deux côtés (apt install -y rsync).

rsync -avzP ./site/ root@203.0.113.10:/var/www/site/

Avec un port SSH personnalisé :

rsync -avzP -e "ssh -p 20123" ./site/ root@your-nat-host:/var/www/site/

Pour faire de la destination un miroir exact (en supprimant les fichiers retirés en local), ajoutez --delete — mais prévisualisez d'abord :

rsync -avzP --delete --dry-run ./site/ root@203.0.113.10:/var/www/site/

Attention à la barre oblique finale. ./site/ copie le contenu de site ; ./site copie le dossier lui-même dans la destination. Avec --delete, cette différence décide quel répertoire sera vidé.

SFTP : en interactif ou en graphique

Le client en ligne de commande fonctionne comme un petit gestionnaire de fichiers :

sftp -P 20123 root@your-nat-host
sftp> put backup.sql
sftp> get /etc/nginx/nginx.conf
sftp> exit

Vous préférez une interface graphique ? FileZilla, WinSCP ou Cyberduck se connectent avec les mêmes informations : protocole SFTP, votre hôte, port 22 (ou votre port NAT), utilisateur root, et votre clé SSH ou mot de passe.

Plus rapide avec des clés SSH

Tous les outils ci-dessus passent par SSH : une clé SSH supprime les demandes de mot de passe — et permet de scripter les transferts depuis cron. Si vous n'en avez pas encore : authentification par clé SSH. Les nouveaux serveurs EQVPS acceptent le mot de passe root du tableau de bord jusqu'à ce que vous passiez aux clés, ce que nous vous conseillons de faire dès le premier jour.

Les gros transferts

Pour des dizaines de gigaoctets, rsync est le seul choix raisonnable : si la connexion tombe, relancez la même commande et il reprend là où il s'était arrêté. Lancez-le dans tmux ou screen sur la machine émettrice, pour que la fermeture de votre portable ne le tue pas.

Pour aller plus loin

FAQ

Quelle différence entre scp et rsync ?

scp copie tout à chaque fois. rsync compare les deux côtés et n'envoie que ce qui a changé, peut reprendre un transfert interrompu et peut refléter un dossier. Pour un fichier, scp suffit ; pour des dossiers que vous synchronisez régulièrement, utilisez rsync.

Comment utiliser un port SSH non standard ?

scp et sftp prennent un -P majuscule (scp -P 20123), ssh un -p minuscule, et rsync le transmet ainsi : rsync -e 'ssh -p 20123'. Sur les offres NAT d'EQVPS, le port SSH personnel est indiqué dans le tableau de bord.

Puis-je utiliser un client graphique ?

Oui. N'importe quel client SFTP — FileZilla, WinSCP, Cyberduck — fonctionne avec les mêmes hôte, port, utilisateur et clé SSH ou mot de passe que pour SSH. Choisissez le protocole SFTP, pas FTP.

Est-ce que ça marche depuis Windows ?

Windows 10 et 11 intègrent OpenSSH : scp et sftp fonctionnent dans PowerShell exactement comme ici. rsync n'est pas inclus ; utilisez-le depuis WSL, ou servez-vous plutôt de la synchronisation de WinSCP.

Que signifie la barre oblique finale dans rsync ?

'rsync -a site/ dest/' copie le contenu de site dans dest. 'rsync -a site dest/' crée dest/site. Si vous vous trompez avec --delete, vous risquez de vider le mauvais dossier : lancez d'abord avec --dry-run.

Commentaires

Pas encore de commentaires. Soyez le premier.

Laisser un commentaire

Les commentaires sont modérés avant leur publication.