Commande sftp Linux
Liste complète des commandes Linux
Qu'est-ce que sftp ?
SFTP (SSH File Transfer Protocol) est un protocole de transfert de fichiers sécurisé qui transmet les fichiers via un canal chiffré SSH (Secure Shell). Contrairement au FTP traditionnel, SFTP offre une sécurité plus élevée, et toutes les données transmises sont chiffrées.
Différences entre SFTP et FTP
| Fonctionnalité | SFTP | FTP |
|---|---|---|
| Sécurité | Transmission chiffrée | Transmission en clair |
| Port | 22 (port SSH) | 21 (port de contrôle) + 20 (port de données) |
| Protocol | Basé sur SSH | Protocole indépendant |
| Compatibilité avec les pare-feu | Il suffit d'ouvrir un seul port | Nécessite l'ouverture de plusieurs ports |
Syntaxe de base de la commande sftp
sftp [选项] [用户名@]主机名[:路径]
Paramètres d'options courants
| Option | Description |
|---|---|
-P 端口号 |
Spécifier le port de connexion (par défaut 22) |
-b 批处理文件 |
Exécuter des commandes à partir d'un fichier batch |
-r |
Copier récursivement un répertoire entier |
-v |
Afficher des informations de débogage détaillées |
-i 私钥文件 |
S'authentifier à l'aide du fichier de clé privée spécifié |
Se connecter au serveur SFTP
Méthode de connexion de base
Exemple
sftp username@hostname
Exemple :
Exemple
sftp user@example.com
Se connecter avec un port spécifié
Si le serveur utilise un port non standard (pas 22) :
Exemple
sftp -P 2222 user@example.com
Utiliser l'authentification par clé
Exemple
sftp -i ~/.ssh/id_rsa user@example.com
Commandes courantes d'opération SFTP
1. Opérations sur fichiers locaux
| Commande | Description |
|---|---|
lls |
Lister le contenu du répertoire local |
lcd |
Changer le répertoire de travail local |
lmkdir |
Créer un répertoire localement |
lrm |
Supprimer des fichiers locaux |
2. Opérations sur fichiers distants
| Commande | Description |
|---|---|
ls |
Lister le contenu du répertoire distant |
cd |
Changer le répertoire de travail distant |
mkdir |
Créer un répertoire à distance |
rm |
Supprimer des fichiers distants |
rename |
Renommer des fichiers distants |
3. Transfert de fichiers
| Commande | Description |
|---|---|
put 本地文件 [远程路径] |
Téléverser des fichiers vers un serveur distant |
get 远程文件 [本地路径] |
Télécharger des fichiers depuis un serveur distant |
mput 本地文件* |
Téléverser plusieurs fichiers |
mget 远程文件* |
Télécharger plusieurs fichiers |
Exemples pratiques
Exemple 1 : Téléverser des fichiers vers le serveur
Exemple
sftp user@example.com
sftp> cd /var/www/html
sftp> put index.html
sftp> exit
sftp> cd /var/www/html
sftp> put index.html
sftp> exit
Exemple 2 : Télécharger un répertoire entier (récursif)
Exemple
sftp -r user@example.com:/backups /local/backups
Exemple 3 : Utiliser un fichier batch
Créezsftp_commands.txt:
put file1.txt put file2.txt get report.pdf exit
Exécuter le lot :
Exemple
sftp -b sftp_commands.txt user@example.com
Astuces avancées
1. Utiliser des caractères génériques pour transférer plusieurs fichiers
Exemple
sftp> mput *.jpg # Téléverser tous les fichiers jpg
sftp> mget log_*.txt # Télécharger tous les fichiers txt commençant par log_
sftp> mget log_*.txt # Télécharger tous les fichiers txt commençant par log_
2. Modifier les permissions de fichier
Exemple
sftp> chmod 644 index.html
3. Afficher les informations du fichier
Exemple
sftp> ls -l
4. Utiliser des liens symboliques
Exemple
sftp> symlink /path/to/original /path/to/link
Solutions aux problèmes courants
1. Connexion refusée
- Vérifiez si le serveur exécute le service SSH
- Confirmez si le port est correct
- Vérifiez les paramètres du pare-feu
2. Échec de l'authentification
- Confirmez que le nom d'utilisateur et le mot de passe sont corrects
- Vérifiez les permissions du fichier de clé (doivent être 600)
- Assurez-vous que votre clé publique se trouve sur le serveur
3. Transfert de fichier interrompu
- Vérifier la connexion réseau
- Essayez d'utiliser
regetetreputcommande pour reprendre le transfert
4. Permissions insuffisantes
- Vérifiez les autorisations d'écriture du répertoire distant
- Vous devrez peut-être utiliser
sudo(Mais sftp ne prend généralement pas en charge sudo directement)
Bonnes pratiques de sécurité
- Utilisez l'authentification par cléau lieu de l'authentification par mot de passe
- Limitez les permissions des utilisateurs, utilisez un environnement chroot
- Mettez régulièrement à jourle logiciel du serveur SSH
- Désactivez la connexion root, utilisez un utilisateur normal + sudo
- Surveillez les fichiers journaux(/var/log/auth.log)
Résumé
SFTP est un outil important pour transférer des fichiers en toute sécurité dans les systèmes Linux. Grâce à ce guide, vous devriez avoir maîtrisé :
- Concepts de base et méthodes de connexion de SFTP
- Commandes courantes de manipulation et de transfert de fichiers
- Traitement par lots pratique et astuces avancées
- Solutions aux problèmes courants
- Bonnes pratiques pour une utilisation sécurisée
Vous pouvez maintenant transférer des fichiers en toute sécurité et efficacement entre votre machine locale et un serveur distant !
Autres extensions