Aperçu
SFTP (SSH File Transfer Protocol) est un protocole développé pour remplacer le FTP, qui est vulnérable. La commande `sftp` utilise une connexion SSH pour chiffrer toutes les données et commandes, éliminant ainsi le risque d'exposition des noms d'utilisateur, mots de passe et contenus de fichiers sur le réseau. Comme le FTP, il prend en charge le mode interactif et son utilisation est similaire, ce qui le rend facile à utiliser pour les utilisateurs familiers avec le FTP.
Caractéristiques principales
Voici les principales caractéristiques de la commande sftp :
- Basé sur SSH, il chiffre toutes les communications.
- Fournit une interface de commande interactive similaire à celle du FTP.
- Utilise un seul port (par défaut 22), ce qui est avantageux dans un environnement de pare-feu.
- Prend en charge diverses fonctions telles que le téléversement de fichiers (`put`), le téléchargement (`get`) et la navigation dans les répertoires (`cd`, `lcd`).
SFTP vs FTP
SFTP et FTP présentent des différences significatives en termes de méthodes de transfert de fichiers et de sécurité.
- SFTP: Sécurisé car il chiffre les données via SSH. Utilise le port 22 et gère toutes les communications via un seul port.
- FTP: Vulnérable car il transmet les données en clair. Utilise le port 21 et nécessite des ports supplémentaires pour le transfert de données.
Options principales
sftp peut être utilisé en mode interactif, similaire au FTP, ou en mode non interactif avec des commandes spécifiques.
1) Options d'exécution
2) Commandes internes du mode interactif
Commande générée :
Essayez de combiner les commandes.
Description:
`sftp` Exécute la commande.
Essayez d'exécuter virtuellement les commandes avec l'IA en combinant les options ci-dessus.
Exemples d'utilisation
Explorez les différentes utilisations de la commande sftp à travers ces exemples.
Connexion au serveur en mode interactif
sftp user@server.com
Connectez-vous à `server.com` avec le compte `user` pour entrer en mode interactif.
Télécharger un fichier
sftp user@server.com
... (après connexion)
cd /var/log
get syslog ~
Télécharge le fichier `syslog` du répertoire `/var/log` du serveur distant vers le répertoire `~` local.
Téléverser un fichier
sftp user@server.com
... (après connexion)
cd /var/www
put /home/user/document.txt
Téléverse le fichier `/home/user/document.txt` du système local vers le répertoire `/var/www` du serveur distant.
Transférer un fichier en mode non interactif
sftp user@server.com:/remote/path <<< 'put localfile.txt'
Utilise la commande `put` en mode non interactif pour téléverser un fichier en une seule fois.
Installation
sftp est inclus par défaut dans la plupart des distributions Linux dans le cadre du paquet `openssh-client`. Si le client SSH est déjà installé, aucune installation supplémentaire n'est nécessaire.
Debian/Ubuntu
sudo apt update
sudo apt install -y openssh-client
RHEL/CentOS/Fedora
sudo dnf install -y openssh-clients
Astuces et précautions
Voici quelques points à considérer lors de l'utilisation de la commande sftp.
Astuces
- sftp utilise les mêmes informations d'authentification SSH que `scp`. Vous pouvez donc gérer facilement les paramètres de connexion à l'aide du fichier `~/.ssh/config`.
- En mode interactif, tapez `help` pour voir la liste de toutes les commandes internes. En plus de `put` et `get`, vous pouvez transférer plusieurs fichiers avec `mput` et `mget`.
- En cas de problème réseau ou d'erreur d'authentification, utilisez l'option `-v` pour afficher des informations détaillées, ce qui peut aider à la résolution des problèmes.