Commande sftp Linux

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

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_

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'utiliserregetetreputcommande pour reprendre le transfert

4. Permissions insuffisantes

  • Vérifiez les autorisations d'écriture du répertoire distant
  • Vous devrez peut-être utilisersudo(Mais sftp ne prend généralement pas en charge sudo directement)

Bonnes pratiques de sécurité

  1. Utilisez l'authentification par cléau lieu de l'authentification par mot de passe
  2. Limitez les permissions des utilisateurs, utilisez un environnement chroot
  3. Mettez régulièrement à jourle logiciel du serveur SSH
  4. Désactivez la connexion root, utilisez un utilisateur normal + sudo
  5. 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 !

Linux 命令大全Liste complète des commandes Linux

Autres extensions