Introduction
Ce laboratoire couvrira les bases de l'utilisation de la ligne de commande Linux pour transférer des fichiers à l'aide de SFTP, FTP et SCP. Ces outils sont couramment utilisés pour transférer des fichiers vers et depuis des serveurs distants et peuvent être utiles pour des tâches telles que le téléchargement de fichiers de site web sur un serveur ou le téléchargement de données à partir d'une machine distante.
Nous avons configuré un serveur SFTP et FTP dans l'environnement de laboratoire. Lorsque vous utilisez réellement, assurez-vous d'avoir les informations d'identification nécessaires pour accéder au serveur distant (telles qu'un nom d'utilisateur et un mot de passe) et que le serveur est configuré pour autoriser les transferts de fichiers via SFTP, FTP et SCP.
Objectifs
sftp- Protocole de transfert de fichiers sécuriséftp- Protocole de transfert de fichiersscp- Copie sécurisée
Se connecter à un serveur distant avec SFTP
SFTP (Protocole de transfert de fichiers sécurisé) est un moyen sécurisé de transférer des fichiers entre une machine locale et un serveur distant.
Pour vous connecter à un serveur distant à l'aide de SFTP, vous pouvez utiliser la commande sftp suivie du nom d'utilisateur et de l'adresse IP ou du nom d'hôte du serveur. Par exemple :
Le mot de passe pour l'utilisateur sftpuser est
123456.
sftp sftpuser@127.0.0.1
## Tapez oui pour accepter l'empreinte digitale du serveur
Vous serez invité à saisir le mot de passe de l'utilisateur. Une fois que vous avez entré le mot de passe correct, vous serez connecté au serveur distant.
Transférer des fichiers avec SFTP
Une fois que vous êtes connecté au serveur distant, vous pouvez transférer des fichiers en utilisant les commandes put et get.
Pour téléverser (uploader) un fichier de votre machine locale vers le serveur distant, utilisez la commande put suivie du chemin d'accès au fichier local. Par exemple :
put /home/labex/.zshrc
Pour télécharger (downloader) un fichier du serveur distant vers votre machine locale, utilisez la commande get suivie du chemin d'accès au fichier distant. Par exemple :
get .zshrc
Lorsque vous avez terminé de transférer des fichiers, vous pouvez fermer la connexion SFTP en utilisant la commande exit.
exit
Assurez-vous de fermer la connexion SFTP avant de cliquer sur le bouton "Continue".
Se connecter à un serveur distant avec FTP
FTP (Protocole de transfert de fichiers) est un protocole de réseau standard utilisé pour transférer des fichiers entre une machine locale et un serveur distant. Il est moins sécurisé que SFTP, car il transmet les données en texte brut.
Vous pouvez vérifier l'état du service FTP en exécutant la commande suivante :
sudo service vsftpd status
Si le service FTP n'est pas en cours d'exécution, vous pouvez le démarrer en exécutant la commande suivante :
sudo service vsftpd start
Pour vous connecter à un serveur distant à l'aide de FTP, vous pouvez utiliser la commande ftp suivie de l'adresse IP ou du nom d'hôte du serveur. Par exemple :
Le nom d'utilisateur pour le ftp est
ftpuseret le mot de passe est123456
ftp 127.0.0.1
Vous serez invité à saisir le nom d'utilisateur et le mot de passe du serveur. Une fois que vous avez entré les informations d'identification correctes, vous serez connecté au serveur distant.
Transférer des fichiers avec FTP
Une fois que vous êtes connecté au serveur distant, vous pouvez transférer des fichiers en utilisant les commandes put et get.
Pour téléverser (uploader) un fichier de votre machine locale vers le serveur distant, utilisez la commande put suivie du chemin d'accès au fichier local. Par exemple :
## Upload .zshrc file to the server and rename it to zshrc-upload
put /home/labex/.zshrc zshrc-upload
Le fichier sera téléversé dans le répertoire courant sur le serveur (/home/ftpuser).
Pour télécharger (downloader) un fichier du serveur distant vers votre machine locale, utilisez la commande get suivie du chemin d'accès au fichier distant. Par exemple :
get zshrc-upload
Le fichier sera téléchargé dans le répertoire courant sur la machine locale.
Pour en savoir plus sur les commandes FTP, exécutez la commande help dans le shell FTP.
Lorsque vous avez terminé de transférer des fichiers, vous pouvez fermer la connexion FTP en utilisant la commande bye ou exit.
bye
Assurez-vous de fermer la connexion FTP avant de cliquer sur le bouton "Continue".
Copier un fichier vers un serveur distant
SCP (Secure Copy) est un utilitaire en ligne de commande qui permet de transférer des fichiers en toute sécurité entre une machine locale et un serveur distant, ou entre deux serveurs distants. Il utilise SSH (Secure Shell) pour chiffrer les données transférées, garantissant ainsi que les fichiers sont transmis de manière sécurisée.
La syntaxe de base de la commande scp est la suivante :
scp [options] [source] [destination]
Les arguments source et destination peuvent être un fichier ou un répertoire local, ou bien un fichier ou un répertoire distant au format username@host:path.
Par exemple, pour copier un fichier nommé file.txt depuis votre machine locale vers un serveur distant ayant l'adresse IP 127.0.0.1, vous utiliseriez la commande suivante :
Pour obtenir le mot de passe de l'utilisateur
labex, tapezprintenv | grep PASSWORDdans le terminal du bureau (Desktop Terminal). Les autres terminaux situés en dehors de l'interface du bureau ne contiendront pas ce mot de passe.

cd ~/project
## View the password for the labex user
printenv | grep PASSWORD
## Copy the file to the remote server
scp file.txt labex@127.0.0.1:/home/labex/file-scp.txt
## Enter the password for the labex user
Télécharger des fichiers à partir d'un serveur distant
Vous pouvez également utiliser SCP pour télécharger des fichiers à partir d'un serveur distant.
Par exemple, pour télécharger un fichier file.txt d'un serveur distant avec l'adresse IP 127.0.0.1 vers le local, vous utiliseriez la commande suivante :
scp labex@127.0.0.1:/home/labex/file-scp.txt /home/labex/file-scp-new.txt
Vous pouvez également définir le répertoire local comme destination, assurez-vous d'inclure le slash final (/) dans le chemin.
Options avancées de SCP
SCP dispose également de plusieurs options avancées qui peuvent être utilisées pour personnaliser le transfert de fichiers. Certaines des options les plus couramment utilisées sont les suivantes :
-r- Cette option vous permet de copier récursivement des répertoires complets.-C- Cette option active la compression pendant le transfert de fichiers, ce qui peut être utile lors du transfert de grands fichiers sur une connexion lente.-P- Cette option vous permet de spécifier un numéro de port pour la connexion.
Par exemple, pour copier le répertoire ~/Desktop de la machine locale vers un serveur distant avec l'adresse IP 127.0.0.1 en utilisant la compression et en spécifiant un numéro de port, vous utiliseriez la commande suivante :
scp -r -C -P 22 ~/Desktop labex@127.0.0.1:/home/labex/Code/
Résumé
Ce laboratoire a présenté les commandes Linux SFTP, FTP et SCP, qui sont utilisées pour transférer des fichiers entre une machine locale et un serveur distant ou entre deux serveurs distants. SFTP est un moyen sécurisé de transférer des fichiers tandis que FTP est un protocole réseau standard qui est moins sécurisé que SFTP. SCP est une utilité de ligne de commande qui vous permet de transférer des fichiers de manière sécurisée entre une machine locale et un serveur distant ou entre deux serveurs distants en utilisant SSH (Secure Shell) pour chiffrer les données en transit. Il a également abordé certaines options avancées disponibles avec la commande SCP qui peuvent être utilisées pour personnaliser le transfert de fichiers, telles que les options -r, -C et -P.



