Le File Transfer Protocol est un protocole de communication standard utilisé pour le transfert de fichiers informatiques d'un serveur à un client sur un réseau informatique.
FTP n'est pas populaire aujourd'hui car il manque de sécurité. Lorsqu'un fichier est envoyé à l'aide de ce protocole, les données, le nom d'utilisateur et le mot de passe sont tous partagés en texte brut, ce qui signifie qu'un pirate peut accéder à ces informations avec peu ou pas d'effort. Pour que les données soient sécurisées, vous devez utiliser une version mise à jour de FTP comme SFTP.
Le protocole de transfert de fichiers sécurisé SFTP est un protocole de transfert de fichiers qui fournit un accès sécurisé à un ordinateur distant pour fournir des communications sécurisées. Il exploite SSH - Secure Socket Shell et est souvent appelé "Secure Shell File Transfer Protocol".
Contenu associé
- Comment configurer un serveur SFTP sur le serveur Debian 11
- Télécharger des fichiers à partir du serveur SFTP à l'aide d'un script python
- Répertorier, charger et télécharger des fichiers depuis un serveur SFTP à l'aide de golang
- Comment configurer un serveur SFTP sur le serveur OpenSUSE Leap 15.3
- Comment installer et configurer le serveur sftp dans Ubuntu 20.04
- Comment configurer un serveur SFTP sur le serveur CentOS 8/RHEL 8
Prérequis
Pour suivre, assurez-vous que vous disposez des éléments suivants :
- Un serveur SFTP auquel se connecter. Si vous souhaitez configurer le serveur, consultez les guides ci-dessus
- Identifiants pour se connecter au serveur
Table des matières
- Connexion au serveur SFTP
- Vérification de la version SFTP
- Afficher le répertoire de travail distant
- Afficher le répertoire de travail de la machine locale
- Télécharger des fichiers sur le serveur sftp
- Télécharger des fichiers depuis le serveur sftp
- Créer et supprimer un répertoire sur le serveur sftp
- Suppression de fichiers sur le serveur sftp
- Renommer des fichiers sur le serveur sftp
- Vérification de l'utilisation des fichiers sur le serveur SFTP
- Obtenir de l'aide
1. Connexion au serveur SFTP
Vous pouvez utiliser le terminal de ligne de commande pour tester votre connexion au SFTP. Cela peut même être fait localement sur le serveur sftp.
Voici le format de la commande de connexion :
sftp [user]@[host]
Connectons-nous à notre serveur. votre nom d'utilisateur et votre mot de passe SFTP seront nécessaires.
sftp [email protected]
Sortie :
$ sftp [email protected]
The authenticity of host '192.168.10.10 (192.168.10.10)' can't be established.
ECDSA key fingerprint is SHA256:99KvuL95zO2CQbC8X0Re/Q+cYrJgqQgzpf1leemnjmY.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '192.168.10.10' (ECDSA) to the list of known hosts.
[email protected]'s password:
Connected to 192.168.10.10.
sftp>
Cela vous connectera au serveur. Le répertoire par défaut est le /home
dir spécifié dans le ChrootDirectory /home
directive dans les configurations de serveur ssh.
2. Vérification de la version SFTP
Utilisez la commande version pour vérifier la version sftp.
sftp> version
SFTP protocol version 3
sftp>
3. Afficher le répertoire de travail distant
Si vous devez vérifier le répertoire de travail actuel sur le serveur distant, le pwd
la commande est pratique :
sftp> pwd
Remote working directory: /sftpuser1
sftp>
4. Afficher le répertoire de travail de la machine locale
Pour afficher le répertoire de travail actuel du système local, utilisez lpwd
commande.
sftp> lpwd
Local working directory: /home/ubuntu
sftp>
L'utilisateur créé n'aura accès qu'à son répertoire. Passons à ce répertoire avec la commande suivante :
sftp> cd sftpuser1
sftp>
Accédez au répertoire d'accueil de l'utilisateur SFTP et essayez de créer un nouveau répertoire comme suit :
sftp> ls
sftpuser1 ubuntu
sftp> cd sftpuser1
sftp> ls
sftp> mkdir datadir
sftp> ls
datadir
5. Télécharger des fichiers sur le serveur sftp
Le faire en local
Téléchargez des fichiers sur un serveur distant à l'aide de cette syntaxe de commande :
$ sftp {user}@{host}:{remote-path} <<< $'put {local-path}'
Exemple :
$ sftp [email protected]:/sftpuser1/ <<< $'put ./citizix.txt'
[email protected]'s password:
Connected to 127.0.0.1.
Changing to: /sftpuser1/
sftp> put ./citizix.txt
Uploading ./citizix.txt to /sftpuser1/citizix.txt
./citizix.txt
Le faire depuis le serveur sftp
Utilisez ces commandes : ls
pour lister les fichiers, lls
pour la liste locale, put
pour télécharger des fichiers :
sftp>
sftp> pwd
Remote working directory: /sftpuser1/datadir
sftp> ls
sftp> lls
citizix.txt snap tmp
sftp> put citizix.txt
Uploading citizix.txt to /sftpuser1/datadir/citizix.txt
citizix.txt 100% 32 25.8KB/s 00:00
sftp> ls
citizix.txt
sftp>
Pour télécharger plusieurs fichiers en une seule fois, nous pouvons utiliser mput
commande comme dans l'exemple ci-dessous. Vous pouvez utiliser mput
avec une expression régulière comme data[23]
pour télécharger data2
, data3
et ignorer data1
. Vous pouvez utiliser n'importe quel caractère générique ou expression régulière avec mput
.
sftp>
sftp> pwd
Remote working directory: /sftpuser1/data
sftp> ls
sftp> lls
data1 data2 data3
sftp> mput data[23]
Uploading data2 to /sftpuser1/data/data2
data2 100% 0 0.0KB/s 00:00
Uploading data3 to /sftpuser1/data/data3
data3 100% 0 0.0KB/s 00:00
sftp> ls
data2 data3
6. Téléchargement de fichiers depuis le serveur sftp
Le faire depuis la machine locale
Pour télécharger un fichier depuis un serveur distant, utilisez la syntaxe de commande ci-dessous :
$ sftp {user}@{remote-host}:{remote-file-name} {local-file-name}
Voici une démonstration du téléchargement d'un fichier en une seule ligne à l'aide de sftp :
# sftp [email protected]:/sftpuser1/citizix.txt .
[email protected]'s password:
Connected to 127.0.0.1.
Fetching /sftpuser1/citizix.txt to ./citizix.txt
/sftpuser1/citizix.txt 100% 32 26.7KB/s 00:00
Le faire depuis le serveur SFTP distant
Télécharger un fichier unique à partir du serveur à l'aide de get
. Exemple de téléchargement data2
sftp>
sftp> ls
data2 data3
sftp> lls
sftp> get data2
Fetching /sftpuser1/data/data2 to data2
sftp> lls
data2
sftp>
Utilisez mget
pour télécharger plusieurs fichiers comme dans cet exemple
sftp>
sftp> ls
data2 data3
sftp> lls
sftp> mget data*
Fetching /sftpuser1/data/data2 to data2
Fetching /sftpuser1/data/data3 to data3
sftp> lls
data2 data3
sftp>
7. Création et suppression d'un répertoire sur le serveur sftp
Utilisez les commandes mkdir
et rmdir
pour créer et supprimer des répertoires
sftp>
sftp> ls
sftp> mkdir data
sftp> ls
data
sftp> rmdir data
sftp>
8. Suppression de fichiers sur le serveur sftp
Utilisez la commande rm
pour supprimer des fichiers
sftp> rm data*
Removing /sftpuser1/data/data2
Removing /sftpuser1/data/data3
sftp>
9. Renommer des fichiers sur le serveur sftp
Utilisez le rename
commande pour renommer les fichiers
sftp>
sftp> ls
data3
sftp> rename data3 data_original
sftp> ls
data_original
sftp>
10. Vérification de l'utilisation du système de fichiers sur le serveur sftp
Affichez les statistiques du répertoire ou du système de fichiers actuel contenant le "chemin", utilisez la commande df. Nous pouvons utiliser l'indicateur -h pour afficher les statistiques dans un format lisible par l'homme. Notez que les statistiques affichées concernent le système de fichiers respectif du serveur SFTP distant et non le système de fichiers de la machine locale.
sftp> df
Size Used Avail (root) %Capacity
29540600 5917856 22103188 23622744 20%
sftp> df -h
Size Used Avail (root) %Capacity
28.2GB 5.6GB 21.1GB 22.5GB 20%
11. Obtenir de l'aide
Pour obtenir de l'aide sur les commandes disponibles et la syntaxe pour SFTP, utilisez '?' ou 'help'.
sftp> ?
Sortie :
sftp> ?
Available commands:
bye Quit sftp
cd path Change remote directory to 'path'
chgrp [-h] grp path Change group of file 'path' to 'grp'
chmod [-h] mode path Change permissions of file 'path' to 'mode'
chown [-h] own path Change owner of file 'path' to 'own'
df [-hi] [path] Display statistics for current directory or
filesystem containing 'path'
exit Quit sftp
get [-afpR] remote [local] Download file
help Display this help text
lcd path Change local directory to 'path'
lls [ls-options [path]] Display local directory listing
lmkdir path Create local directory
ln [-s] oldpath newpath Link remote file (-s for symlink)
lpwd Print local working directory
ls [-1afhlnrSt] [path] Display remote directory listing
lumask umask Set local umask to 'umask'
mkdir path Create remote directory
progress Toggle display of progress meter
put [-afpR] local [remote] Upload file
pwd Display remote working directory
quit Quit sftp
reget [-fpR] remote [local] Resume download file
rename oldpath newpath Rename remote file
reput [-fpR] local [remote] Resume upload file
rm path Delete remote file
rmdir path Remove remote directory
symlink oldpath newpath Symlink remote file
version Show SFTP version
!command Execute 'command' in local shell
! Escape to local shell
? Synonym for help
Reportez-vous à la page de manuel sftp pour en savoir plus.
$ man sftp
Quitter la session SFTP
Enfin, vous pouvez quitter le sftp en utilisant le bye
, exit
, ou exit
:
sftp> exit
$
Conclusion
Dans ce guide, nous avons réussi à explorer les opérations de base pouvant être effectuées sur un serveur SFTP