Skip to Content
CLI📂 SFTP

📂 SFTP

Commande interactive pour transférer des fichiers via SSH, avec reprise, navigation distante et automatisation simple.

SFTP (SSH File Transfer Protocol) réutilise le chiffrement SSH : même utilisateur, mêmes clés, mêmes règles de firewall.

Connexion

# Ouvrir une session SFTP sftp user@host # Spécifier un port custom sftp -P 2222 user@host # Utiliser une clé précise sftp -i ~/.ssh/id_ed25519 user@host # Via un alias SSH déjà défini sftp prod-web
# Navigation distante pwd # répertoire distant courant cd /var/www # changer de dossier distant ls -lah # lister distant mkdir releases # créer distant rm fichier # supprimer distant # Navigation locale lpwd # dossier local courant lcd /tmp # changer de dossier local lls # lister local

Transfert de fichiers

# Télécharger get fichier.log # vers le dossier local courant get -p fichier.log # préserver dates et permissions get -r /var/www/html/ site/ # dossier complet # Envoyer put build.tar.gz /var/www/ # upload simple put -r public/ /var/www/html/ # upload récursif put -a gros.iso # reprendre un upload interrompu # Mode batch pour plusieurs fichiers mget *.log mput *.sql

Automatiser

# Exécuter des commandes depuis un script sftp -b script.sftp user@host # Exemple de script.sftp lcd /tmp/backups cd /var/backups mget *.tar.gz bye # Forcer l'échec si l'auth échoue (CI/CD) sftp -oBatchMode=yes user@host <<'EOF' get /var/log/syslog EOF

Utiliser ~/.ssh/config

Host prod-web HostName 10.0.0.20 User deploy Port 2222 IdentityFile ~/.ssh/id_prod Compression yes

Une fois configuré : sftp prod-web.

Dépannage

# Vérifier les droits locaux ls -ld ~/.ssh ~/.ssh/id_* chmod 700 ~/.ssh chmod 600 ~/.ssh/id_ed25519 # Vérifier les droits distants sftp user@host sftp> ls -la sftp> chmod 640 fichier.txt