Comment utiliser ssh-agent sur Ubuntu

Comment utiliser ssh-agent sur Ubuntu
ssh-agent est configuré pour s'exécuter automatiquement sur Ubuntu. S'il n'est pas démarré automatiquement à la connexion, il peut être démarré manuellement par la commande 'eval'. Le mot de passe de la clé privée SSH peut être créé manuellement par la poignée de l'utilisateur par ssh-agent. Il s'appelle un agent d'authentification. Le SSH-Agent utilise la variable d'environnement SSH_Auth_Sock pour l'authentification. Si cette variable est définie correctement, alors le ssh-agent fonctionnera correctement. Les utilisations de ssh-agent sur Ubuntu à différentes fins a été expliquée dans ce tutoriel.

Conditions préalables:

Avant de commencer les étapes de ce tutoriel, les étapes suivantes devront terminer.

Activez le service SSH sur Ubuntu s'il n'est pas activé avant.

Générer les paires de clés ssh pour exécuter les commandes du serveur distant. Exécutez la commande suivante pour créer la clé publique et la clé privée. La clé privée sera stockée dans le serveur distant et les clés publiques seront stockées dans le client en toute sécurité.

$ ssh-keygen -t rsa

Exécutez la commande suivante pour ouvrir le sshd_config Fichier à l'aide de Nano Editor pour ajouter quelques configurations nécessaires.

$ sudo nano / etc / ssh / sshd_config

Ajoutez les lignes suivantes dans le fichier pour activer la connexion racine et l'authentification basée sur le mot de passe.

PasswordAuthentication Oui
Permutrootlogin oui

Exécutez la commande suivante pour redémarrer le service SSH.

$ sudo service ssh redémarrer

Syntaxe:

Deux syntaxes différentes de l'agent SSH ont donné ci-dessous. La signification des options utilisées avec cette commande est décrite dans la partie suivante de ce tutoriel.

ssh-agent [-c | -s] [-dd] [-a bind_address] [-e digitalprint_hash] [-t life] [Command [arg…]]
ssh-agent [-c | -s] -K

Différentes options de SSH-Agent:

La commande ssh-agent a de nombreuses options. Les utilisations des options sont données ci-dessous.

Option But
-a bind_address Il est utilisé pour lier la prise de domaine Unix au chemin de fichier donné avec force au lieu d'utiliser la prise par défaut.
-c Il est utilisé pour générer les commandes en C-Shell sur STDOUT. Le shell est automatiquement détecté par défaut.
-d Il est utilisé pour permettre le mode de débogage.
-E digitalprint_hash Il est utilisé pour définir l'algorithme utilisé pour générer les empreintes digitales de clé SSH. MD5 et SHA256 sont les valeurs valides.
-k Il est utilisé pour tuer l'agent en cours d'exécution.
-s Il est utilisé pour générer les commandes Bourne Shell (/ bin / sh) sur Stdout avec force. Le shell est automatiquement détecté par défaut.
-t Il est utilisé pour définir le nombre maximum de secondes utilisées pour maintenir l'identité de l'agent. La valeur de cette option définit en quelques secondes, mais elle peut être définie par différents suffixes, tels que m pendant les minutes, h pendant des heures, D pendant des jours et w pendant des semaines. Si cette option n'est pas utilisée, l'agent gardera les clés dans la mémoire tant qu'elle fonctionne. Cette valeur sera remplacée lorsque la commande SSH-ADD sera exécutée.

L'utilisation de l'option -t a été affichée ici. Exécutez la commande suivante pour garder l'identité des agents pendant 60 secondes.

$ ssh-agent-60

La sortie suivante sera apparue après avoir exécuté la commande ci-dessus.

Utilisation de la commande ssh-agent pour une authentification non interactive:

Exécutez la commande suivante à partir de la machine du serveur pour démarrer l'agent SSH pour une authentification non interactive.

$ eval $ (ssh-agent)

La sortie suivante sera apparue après avoir exécuté la commande ci-dessus. SSH-Agent fonctionne maintenant. Ici, le nom d'utilisateur de la machine du serveur est 'Fahmida.'

Utilisez SSH-ADD pour ajouter la phrase secrète de clé privée à SSH-Agent:

Le SSH-ADD La commande nécessitera de fournir la phrase secrète pour les clés privées SSH. Maintenant, connectez-vous à la machine client et exécutez le SSH-ADD commande du terminal.

$ SSH-ADD

Après avoir ajouté la clé privée à l'agent SSH, différents types de commandes SSH, tels que SCP, SFTP, SSH, etc., peut être exécuté à partir de la machine client.

Copier le fichier du client vers le serveur:

Le SCP commande pour copier le fichier du client sur le serveur et ssh La commande pour se connecter avec le serveur pour vérifier le fichier est copiée ou non affichée dans cette partie du tutoriel. Créer un fichier texte nommé fichier de test.SMS avec le contenu suivant.

fichier de test.SMS

C'est un fichier de test créé dans la machine client.

Exécutez la commande suivante pour vérifier le contenu du fichier de test.SMS fichier avant d'exécuter le 'SCP' commande.

$ Cat TestFile.SMS

La sortie suivante sera apparue après avoir exécuté la commande ci-dessus.

Exécutez la commande suivante pour copier le fichier de test.SMS fichier de la machine client vers le Documents dossier de la machine serveur.

$ SCP TestFile.txt Fahmida @ Fahmida-VirtualBox: ~ / Documents /

La sortie suivante sera apparue après avoir exécuté la commande ci-dessus si le fichier est copié avec succès à l'emplacement du serveur. Ici, le nom d'utilisateur de la machine du serveur est «Fahmida» Et le nom d'utilisateur de la machine client est 'Yasmin.

Exécutez la commande suivante pour établir une connexion avec le serveur en utilisant ssh commande.

$ ssh Fahmida @ Fahmida-VirtualBox

Exécutez la commande suivante pour accéder au Documents Le dossier de la machine serveur pour vérifier le fichier texte a été copié ici ou non.

$ CD Documents

Exécutez la commande suivante pour vérifier la liste des fichiers et dossiers du Documents dossier.

$ ls
[

La sortie suivante montre que le fichier texte existe dans le Documents dossier de la machine serveur.

Maintenant, exécutez la commande suivante pour vérifier le contenu du test.Fichier TXT de la machine serveur.

$ Cat TestFile.SMS

La sortie suivante montre que le contenu de TestFile.txt de la machine serveur est le même que le contenu du fichier de texte.txt de la machine client.

Retirez toutes les clés privées SSH-Agent mises en cache:

Exécutez la commande SSH-ADD suivante avec l'option -D pour supprimer toutes les clés privées de l'agent SSH mis en cache.

$ SSH-ADD -D

La sortie suivante sera apparue après avoir exécuté la commande ci-dessus.

Conclusion:

En utilisant ssh-agent est une façon de se connecter avec la machine distante de la machine client pour effectuer différentes tâches. Tout fichier peut être copié à partir de la machine client vers la machine du serveur en exécutant un agent SSH affiché dans ce didacticiel pour aider le lecteur à connaître cette commande.