Débutant ⏱ 10 min Mis à jour le 29 juillet 2026

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éthodeUsage conseilléInterfacePoint fort
SCPCopie ponctuelle d’un fichier ou dossierLigne de commandeSimple et rapide
SFTPNavigation et transferts manuelsClient graphique ou terminalFacile à prendre en main
rsyncSynchronisations répétéesLigne de commandeNe 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, -P en majuscule définit le port. L’option -p en 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 :

ChampValeur
ProtocoleSFTP – SSH File Transfer Protocol
HôteAdresse IP du VPS
Port22 ou votre port SSH
Type d’authentificationMot de passe ou fichier de clé
UtilisateurVotre utilisateur Linux
Mot de passeVotre 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 :

OptionFonction
-aMode archive : conserve l’arborescence et les attributs principaux
-vAffiche les opérations
-zCompresse 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 : --delete supprime 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 -r pour transférer un dossier avec SCP.
  • Utilisez -P avec 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 --delete avec --dry-run avant son utilisation réelle.
  • Déposez les fichiers dans votre dossier personnel avant de les déplacer avec sudo.
  • Évitez chmod 777 et 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.