Se connecter à un système distant

LinuxLinuxIntermediate
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce laboratoire, vous apprendrez à utiliser la commande Linux ssh pour vous connecter à distance et gérer d'autres systèmes Linux. SSH (Secure Shell) est un outil puissant pour les administrateurs de systèmes et les ingénieurs réseau, vous permettant d'effectuer une grande variété de tâches à distance et en toute sécurité.

Objectifs

À la fin de ce laboratoire, vous serez en mesure de :

  • Utiliser la commande ssh pour vous connecter de manière sécurisée à un système distant
  • Exécuter des commandes sur un système distant en utilisant SSH
  • Comprendre les bases de la gestion de systèmes distants
Ceci est un Guided Lab, qui fournit des instructions étape par étape pour vous aider à apprendre et à pratiquer. Suivez attentivement les instructions pour compléter chaque étape et acquérir une expérience pratique. Les données historiques montrent que c'est un laboratoire de niveau intermédiaire avec un taux de réussite de 71%. Il a reçu un taux d'avis positifs de 96% de la part des apprenants.

Récupérer le mot de passe de l'utilisateur labex

Avant de pouvoir utiliser SSH, nous devons connaître le mot de passe de l'utilisateur labex. Dans cet environnement de laboratoire, le mot de passe est stocké sous forme de variable d'environnement.

  1. Ouvrez une fenêtre de terminal dans l'environnement de bureau, seuls les terminaux de l'environnement de bureau auront les variables d'environnement définies.
Récupérer le mot de passe
  1. Pour récupérer le mot de passe, exécutez la commande suivante.

    printenv | grep PASSWORD

    Remarque : Vous devez exécuter cette commande dans le terminal de l'environnement de bureau, et non dans le terminal que vous avez ouvert depuis la barre de menu supérieure.

    Cette commande affichera toutes les variables d'environnement contenant "PASSWORD". Recherchez une ligne qui indique LABEX_PASSWORD=.... Les caractères après le signe égal sont votre mot de passe.

  2. Notez ce mot de passe, car vous en aurez besoin pour les étapes suivantes.

Important : N'essayez pas de changer le mot de passe de l'utilisateur labex. L'environnement de laboratoire est configuré avec ce mot de passe spécifique, et le changer peut entraîner l'échec des étapes de vérification du laboratoire. Utilisez toujours le mot de passe fourni par la variable d'environnement LABEX_PASSWORD tout au long de ce laboratoire.

Se connecter au système local en utilisant SSH

Maintenant que nous avons le mot de passe, pratiquons l'utilisation de SSH pour nous connecter au système local. Cela simule une connexion à un système distant.

Exemple de terminal de connexion SSH
  1. Dans le terminal, utilisez la commande suivante pour vous connecter au système local en utilisant SSH :

    ssh [email protected]

    Ici, 127.0.0.1 est l'adresse IP de bouclage qui fait référence à la machine locale. Elle est souvent appelée "localhost".

  2. Vous pourriez voir un message concernant l'authenticité de l'hôte. Ce message apparaît car c'est la première fois que vous vous connectez à ce système "distant". Dans un scénario réel, vous devriez vérifier l'empreinte digitale avant de continuer. Pour ce laboratoire, tapez yes et appuyez sur Entrée pour continuer.

  3. Lorsque vous êtes invité à saisir le mot de passe, entrez le mot de passe que vous avez récupéré à l'Étape 1. Vous ne verrez pas le mot de passe lorsque vous le taperez.

  4. En cas de succès, vous verrez une nouvelle invite. Cela indique que vous êtes maintenant connecté via SSH, même si vous êtes toujours sur la même machine.

  5. Pour quitter la session SSH, tapez exit et appuyez sur Entrée. Cela vous ramènera à votre session de terminal d'origine.

Exécuter une commande simple en utilisant SSH

Pratiquons l'exécution d'une commande sur le système "distant" en utilisant SSH. Cela est utile lorsque vous avez besoin d'exécuter rapidement une commande sans démarrer une session SSH complète.

  1. Utilisez la commande suivante pour lister le contenu du répertoire personnel sur le système local via SSH :

    ssh [email protected] 'ls -l ~'

    Cette commande se décompose comme suit :

    • ssh : La commande pour démarrer une connexion SSH
    • [email protected] : L'utilisateur et l'adresse IP à laquelle nous nous connectons
    • 'ls -l ~' : La commande que nous voulons exécuter sur le système distant, entre guillemets
  2. Entrez le mot de passe de l'utilisateur labex lorsque vous y êtes invité.

  3. Vous devriez voir la sortie de la commande ls -l ~, affichant le contenu du répertoire personnel. Cette sortie provient du système "distant", même si c'est en réalité la même machine.

  4. Remarquez que vous n'avez pas démarré une session SSH complète cette fois - ci. La commande a été exécutée, et vous êtes immédiatement revenu à votre terminal d'origine.

Utiliser SSH avec allocation de pseudo - terminal

Certaines commandes nécessitent un pseudo - terminal pour s'exécuter correctement, en particulier les commandes interactives ou celles qui produisent une sortie formatée. Pratiquons l'utilisation de l'option -t avec SSH pour forcer l'allocation d'un pseudo - terminal.

  1. Exécutez la commande suivante pour afficher le temps de fonctionnement du système :

    ssh -t [email protected] 'uptime'

    L'option -t force SSH à allouer un pseudo - terminal. Cela peut être nécessaire pour les commandes qui attendent d'être exécutées dans un environnement interactif.

  2. Entrez le mot de passe de l'utilisateur labex lorsque vous y êtes invité.

  3. Vous devriez voir une sortie indiquant depuis combien de temps le système est en marche, ainsi que des informations sur la charge moyenne.

  4. Maintenant, essayons une commande interactive. Exécutez ce qui suit :

    ssh -t [email protected] 'top -n 1'

    Cela exécutera la commande top, qui fournit généralement une vue interactive des processus du système, mais ici nous utilisons l'option -n 1 pour quitter après une itération.

  5. Encore une fois, entrez le mot de passe de l'utilisateur labex lorsque vous y êtes invité.

  6. Vous devriez voir une sortie formatée montrant les principaux processus en cours d'exécution sur le système.

Créer et accéder à un fichier distant

Pratiquons la création d'un fichier sur le système "distant" et son accès. Cela montre comment vous pouvez manipuler des fichiers sur un système distant en utilisant SSH.

  1. Utilisez SSH pour créer un fichier nommé remote_test.txt dans le répertoire personnel du système distant :

    ssh [email protected] 'echo "This is a test file created remotely" > ~/remote_test.txt'

    Cette commande utilise SSH pour exécuter une commande echo sur le système distant, qui écrit ensuite du texte dans un nouveau fichier.

  2. Maintenant, affichons le contenu du fichier que nous venons de créer :

    ssh [email protected] 'cat ~/remote_test.txt'

    La commande cat est utilisée pour afficher le contenu du fichier.

  3. Vous devriez voir le message "This is a test file created remotely" affiché dans votre terminal.

  4. Confirmons la présence du fichier en le listant :

    ssh [email protected] 'ls -l ~/remote_test.txt'

    Cela vous montrera les détails du fichier, y compris les autorisations, la taille et la date de création.

Résumé

Dans ce laboratoire, vous avez appris à utiliser la commande ssh pour vous connecter à distance et gérer des systèmes Linux. Vous avez pratiqué la récupération d'un mot de passe d'utilisateur à partir de variables d'environnement, la connexion à un système local via SSH (simulant une connexion à distance), l'exécution de commandes à distance, l'utilisation de SSH avec allocation de pseudo - terminal, ainsi que la création et l'accès à des fichiers sur un système "distant".

Ces compétences sont fondamentales pour les administrateurs de systèmes et toute personne qui a besoin de gérer des systèmes Linux à distance. N'oubliez pas que, bien que nous ayons utilisé le système local pour la pratique, ces mêmes commandes et techniques peuvent être utilisées pour vous connecter à et gérer des systèmes véritablement distants sur un réseau ou Internet.

Prenez toujours la sécurité en priorité lorsque vous travaillez avec des systèmes distants. Utilisez des mots de passe forts, maintenez vos systèmes à jour et envisagez des mesures de sécurité supplémentaires telles que l'authentification basée sur des clés pour les environnements de production.

Au fur et à mesure de votre progression dans l'administration système, vous constaterez que SSH est un outil indispensable pour la gestion à distance et la résolution de problèmes.