Transférer des fichiers vers un VPS (SCP, SFTP, rsync)
Envoyer un site, récupérer une sauvegarde, synchroniser un dossier… voici les trois méthodes pour transférer des fichiers vers votre VPS en toute sécurité via SSH.
Trois méthodes pour transférer des fichiers vers un VPS
Transférer des fichiers vers un VPS peut se faire avec SCP, SFTP ou rsync. Ces trois méthodes utilisent SSH pour authentifier la connexion et chiffrer les échanges entre votre ordinateur et le serveur.
Vous pouvez donc réutiliser :
- l’adresse IP du VPS ;
- votre utilisateur Linux ;
- votre mot de passe ou votre clé SSH ;
- le port utilisé par le service SSH.
Avant de commencer, vérifiez que votre connexion fonctionne avec :
ssh utilisateur@ADRESSE_IP
Si vous n’avez pas encore configuré cet accès, consultez le guide pour vous connecter à un VPS en SSH.
Chaque méthode répond à un besoin différent :
| Méthode | Usage conseillé | Interface | Point fort |
|---|---|---|---|
| SCP | Copie ponctuelle d’un fichier ou dossier | Ligne de commande | Simple et rapide |
| SFTP | Navigation et transferts manuels | Client graphique ou terminal | Facile à prendre en main |
| rsync | Synchronisations répétées | Ligne de commande | Ne transfère que les différences |
Pour envoyer quelques fichiers, SCP suffit généralement. Pour parcourir visuellement le VPS, utilisez SFTP. Pour déployer régulièrement un site ou sauvegarder un dossier, rsync est souvent la meilleure solution.
Utiliser SCP pour une copie simple
SCP permet de copier un fichier entre votre ordinateur et le VPS avec une commande proche de cp.
La structure générale est :
scp SOURCE DESTINATION
Envoyer un fichier vers le VPS
Depuis le terminal de votre ordinateur :
scp fichier.zip utilisateur@ADRESSE_IP:/home/utilisateur/
Exemple :
scp site.zip benjamin@192.0.2.10:/home/benjamin/
Le fichier sera envoyé dans :
/home/benjamin/site.zip
Vous pouvez aussi le renommer pendant le transfert :
scp site.zip utilisateur@ADRESSE_IP:/home/utilisateur/archive-site.zip
Envoyer un dossier complet
Ajoutez l’option -r pour copier récursivement un répertoire :
scp -r mon-site utilisateur@ADRESSE_IP:/home/utilisateur/
Le dossier obtenu sera :
/home/utilisateur/mon-site/
Récupérer un fichier depuis le VPS
Inversez la source et la destination :
scp utilisateur@ADRESSE_IP:/home/utilisateur/sauvegarde.zip ./
La destination ./ représente le dossier courant de votre ordinateur.
Pour choisir un autre emplacement local :
scp utilisateur@ADRESSE_IP:/home/utilisateur/sauvegarde.zip ~/Téléchargements/
Récupérer un dossier complet
Utilisez de nouveau -r :
scp -r utilisateur@ADRESSE_IP:/home/utilisateur/mon-site ./
Utiliser un port SSH personnalisé
Avec SCP, le port SSH s’indique avec un P majuscule :
scp -P 2222 fichier.zip utilisateur@ADRESSE_IP:/home/utilisateur/
Pour transférer un dossier :
scp -P 2222 -r mon-dossier utilisateur@ADRESSE_IP:/home/utilisateur/
Avec SCP,
-Pen majuscule définit le port. L’option-pen minuscule possède une autre fonction.
Utiliser une clé SSH spécifique
Indiquez la clé privée avec -i :
scp -i ~/.ssh/id_ed25519 fichier.zip utilisateur@ADRESSE_IP:/home/utilisateur/
Vous pouvez combiner les options :
scp -i ~/.ssh/id_ed25519 -P 2222 fichier.zip utilisateur@ADRESSE_IP:/home/utilisateur/
Pour mettre en place cette authentification, consultez le guide sur la clé SSH.
Utiliser SFTP avec FileZilla
SFTP permet de parcourir les fichiers du VPS depuis une interface graphique. Malgré son nom, SFTP ne correspond pas au protocole FTP classique : il fonctionne à travers SSH.
Vous pouvez utiliser FileZilla ou un autre client compatible SFTP.
Dans le gestionnaire de sites, renseignez :
| Champ | Valeur |
|---|---|
| Protocole | SFTP – SSH File Transfer Protocol |
| Hôte | Adresse IP du VPS |
| Port | 22 ou votre port SSH |
| Type d’authentification | Mot de passe ou fichier de clé |
| Utilisateur | Votre utilisateur Linux |
| Mot de passe | Votre mot de passe SSH, si utilisé |
Avec une clé SSH, sélectionnez votre fichier privé lorsque le client le demande. Ne choisissez pas le fichier .pub : celui-ci correspond à la clé publique.
Une fois connecté, l’interface présente généralement :
Colonne de gauche → fichiers de votre ordinateur
Colonne de droite → fichiers du VPS
Vous pouvez alors :
- glisser-déposer des fichiers ;
- créer des dossiers ;
- renommer des éléments ;
- télécharger une sauvegarde ;
- modifier certaines permissions ;
- reprendre certains transferts interrompus.
Déposez d’abord les fichiers dans votre dossier personnel :
/home/utilisateur/
Évitez de vous connecter systématiquement en root. Utilisez un utilisateur standard, puis déplacez les fichiers avec sudo lorsque leur destination exige des droits administrateur.
Vérifiez toujours que le protocole sélectionné est SFTP. Une connexion FTP classique n’utilise pas les mêmes identifiants ni le même mécanisme de sécurité.
Synchroniser efficacement avec rsync
rsync compare la source et la destination afin de ne transférer que les différences. Il est particulièrement adapté aux déploiements et sauvegardes répétées.
Installez-le si nécessaire sur Debian ou Ubuntu :
sudo apt update
sudo apt install -y rsync
Envoyer un dossier vers le VPS
Depuis votre ordinateur :
rsync -avz ./mon-site/ utilisateur@ADRESSE_IP:/home/utilisateur/mon-site/
Les options utilisées signifient :
| Option | Fonction |
|---|---|
-a | Mode archive : conserve l’arborescence et les attributs principaux |
-v | Affiche les opérations |
-z | Compresse les données pendant le transfert |
La barre oblique finale est importante.
Cette commande :
rsync -avz ./mon-site/ utilisateur@ADRESSE_IP:/destination/
copie le contenu de mon-site.
Cette commande :
rsync -avz ./mon-site utilisateur@ADRESSE_IP:/destination/
copie le dossier mon-site lui-même dans la destination.
Récupérer un dossier depuis le VPS
Inversez les chemins :
rsync -avz utilisateur@ADRESSE_IP:/home/utilisateur/mon-site/ ./mon-site/
Utiliser un port personnalisé
Indiquez la commande SSH avec -e :
rsync -avz -e "ssh -p 2222" ./mon-site/ utilisateur@ADRESSE_IP:/home/utilisateur/mon-site/
Avec une clé spécifique :
rsync -avz -e "ssh -i ~/.ssh/id_ed25519 -p 2222" ./mon-site/ utilisateur@ADRESSE_IP:/home/utilisateur/mon-site/
Reprendre plus facilement un transfert
Pour conserver les fichiers partiellement transférés et afficher la progression :
rsync -avz --partial --progress ./sauvegardes/ utilisateur@ADRESSE_IP:/home/utilisateur/sauvegardes/
Supprimer les fichiers absents de la source
L’option suivante transforme la destination en copie plus fidèle de la source :
rsync -avz --delete ./mon-site/ utilisateur@ADRESSE_IP:/home/utilisateur/mon-site/
Attention :
--deletesupprime sur la destination les fichiers qui n’existent plus dans la source. Une erreur de chemin peut donc effacer des données utiles.
Testez d’abord la commande sans modifier les fichiers :
rsync -avz --delete --dry-run ./mon-site/ utilisateur@ADRESSE_IP:/home/utilisateur/mon-site/
Vérifiez attentivement la liste, puis retirez --dry-run seulement lorsque le résultat est correct.
Des sauvegardes automatiques sont incluses pour vous aider à restaurer. Conservez aussi vos propres exports réguliers : vous restez responsable de vos données.
Choisir les bons emplacements et permissions
Pour un premier transfert, utilisez votre répertoire personnel :
/home/utilisateur/
Vous pouvez ensuite déplacer les fichiers vers leur destination finale.
Pour un site web :
sudo mkdir -p /var/www/mon-site
sudo cp -r ~/mon-site/. /var/www/mon-site/
Attribuez les fichiers au compte réellement utilisé par l’application ou le serveur web :
sudo chown -R www-data:www-data /var/www/mon-site
N’appliquez pas automatiquement chmod 777. Cette permission autorise tous les utilisateurs à lire, modifier et exécuter les fichiers concernés.
Pour des fichiers web classiques, une base fréquente est :
sudo find /var/www/mon-site -type d -exec chmod 755 {} \;
sudo find /var/www/mon-site -type f -exec chmod 644 {} \;
Ces valeurs doivent être adaptées aux besoins de votre application. Un fichier contenant un secret, par exemple .env, doit être plus restrictif :
chmod 600 .env
Vérifiez le propriétaire et les permissions avec :
ls -la
Le compte qui exécute l’application doit pouvoir lire ses fichiers, mais cela ne justifie pas de donner tous les droits à tous les utilisateurs.
Dépanner les transferts
Erreur Permission denied
Cette erreur peut concerner l’authentification SSH :
Permission denied (publickey)
Vérifiez :
- le nom d’utilisateur ;
- la clé utilisée ;
- le port SSH ;
- la présence de votre clé publique dans
authorized_keys.
Elle peut aussi concerner le dossier de destination :
scp: dest open "/var/www/site/fichier": Permission denied
Envoyez alors le fichier dans votre dossier personnel :
scp fichier utilisateur@ADRESSE_IP:/home/utilisateur/
Puis déplacez-le sur le VPS :
sudo mv ~/fichier /var/www/site/
Chemin introuvable
Une erreur comme :
No such file or directory
indique généralement un chemin incorrect. Vérifiez-le sur le VPS :
pwd
ls -la
Connexion refusée
Si vous voyez :
Connection refused
contrôlez l’adresse IP, le port SSH, le service SSH et les règles du pare-feu.
Testez d’abord :
ssh -p PORT utilisateur@ADRESSE_IP
Si SSH ne fonctionne pas, SCP, SFTP et rsync ne fonctionneront pas non plus.
Transfert volumineux interrompu
Pour un transfert important ou répété, préférez rsync :
rsync -avz --partial --progress ./gros-dossier/ utilisateur@ADRESSE_IP:/home/utilisateur/gros-dossier/
Vous pourrez relancer la même commande afin de poursuivre la synchronisation sans recopier inutilement tous les fichiers déjà présents.
En résumé
- SCP, SFTP et rsync transfèrent les données à travers SSH.
- Utilisez SCP pour une copie ponctuelle et simple.
- Envoyez un fichier avec
scp fichier user@ip:/chemin/. - Récupérez-le avec
scp user@ip:/chemin/fichier ./. - Ajoutez
-rpour transférer un dossier avec SCP. - Utilisez
-Pavec une majuscule pour un port SSH personnalisé. - Choisissez SFTP dans FileZilla pour naviguer avec une interface graphique.
- Utilisez rsync pour les synchronisations et déploiements répétés.
- Vérifiez la barre oblique finale des chemins rsync.
- Testez toujours
--deleteavec--dry-runavant son utilisation réelle. - Déposez les fichiers dans votre dossier personnel avant de les déplacer avec
sudo. - Évitez
chmod 777et attribuez les fichiers au bon utilisateur. - Pour transférer des fichiers vers un VPS hébergé en France avec stockage NVMe, Anti-DDoS L3/L4/L7 inclus, panel de gestion et support francophone, découvrez les offres VPS TalCloud.