GNU/Linux >> Tutoriels Linux >  >> Linux

Comment travailler avec le client SFTP sous Linux - 10 commandes sftp

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

  1. Connexion au serveur SFTP
  2. Vérification de la version SFTP
  3. Afficher le répertoire de travail distant
  4. Afficher le répertoire de travail de la machine locale
  5. Télécharger des fichiers sur le serveur sftp
  6. Télécharger des fichiers depuis le serveur sftp
  7. Créer et supprimer un répertoire sur le serveur sftp
  8. Suppression de fichiers sur le serveur sftp
  9. Renommer des fichiers sur le serveur sftp
  10. Vérification de l'utilisation des fichiers sur le serveur SFTP
  11. 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 data2data3 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 byeexit , 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


Linux
  1. Comment travailler avec des utilisateurs et des groupes sous Linux

  2. Comment surveiller la sécurité du serveur Linux avec Osquery

  3. Mettre le fichier avec le client TFTP sous Linux

  4. Comment puis-je enregistrer le serveur Linux avec le serveur DNS Windows

  5. Comment configurer un serveur Linux en tant que routeur avec NAT

Comment gérer à distance un serveur Linux avec SSH

Comment travailler avec le processus de premier plan et d'arrière-plan sous Linux

Comment travailler avec des liens durs et des liens souples sous Linux

Linux - Comment fonctionne l'affichage de Linux ?

Procédure :Commandes SFTP - Transférer en toute sécurité des fichiers vers un serveur distant

Comment vérifier les paramètres du serveur VPS avec la commande Linux