GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment utiliser ssh-agent sur Ubuntu

ssh-agent est configuré pour s'exécuter automatiquement sur Ubuntu. S'il ne démarre pas automatiquement lors de la connexion, il peut être démarré manuellement avec la commande `eval`. Le mot de passe de la clé SSH privée peut être créé manuellement via le pseudonyme ssh-agent . Il s'agit d'un agent d'authentification. L'agent ssh 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 à des fins différentes ont été expliquées dans ce tutoriel.

Exigences :

Avant de commencer les étapes de ce didacticiel, vous devez effectuer les étapes suivantes.

Activez le service SSH sur Ubuntu s'il n'a pas été activé précédemment.

Générez les paires de clés SSH pour exécuter les commandes sur le serveur distant. Exécutez la commande suivante pour créer la clé publique et la clé privée. La clé privée est stockée sur le serveur distant et les clés publiques sont stockées en toute sécurité dans le client.

$ ssh-keygen -T rsa

Exécutez la commande suivante pour ouvrir le sshd_config Fichier avec l'éditeur nano pour ajouter certaines configurations nécessaires.

$ sudo Nano /etc/ssh/sshd_config

Ajoutez les lignes suivantes au fichier pour activer la connexion root et l'authentification par mot de passe.

Authentification par mot de passe Oui monsieur

PermitRootLogin Oui monsieur

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

$ sudo service ssh recommencer

Syntaxe :

Deux syntaxes d'agent ssh différentes sont présentées 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 fingerprint_hash] [-t life] [commande [arg …]]

ssh-agent [-c | -s] -k

Différentes options de ssh-agent :

La commande ssh-agent a de nombreuses options. L'utilisation des options est donnée ci-dessous.

opportunité but
-a bind_address Il est utilisé pour lier de force le socket de domaine UNIX au chemin de fichier spécifié au lieu d'utiliser le socket standard.
-C Il est utilisé pour générer les commandes du shell C sur stdout. Le shell est automatiquement reconnu par défaut.
-D Il est utilisé pour activer le mode débogage.
-E fingerprint_hash Il est utilisé pour définir l'algorithme qui sera utilisé pour générer les empreintes digitales de la clé SSH. md5 et sha256 sont les valeurs valides.
-k Il est utilisé pour mettre fin à l'agent en cours d'exécution.
-S Il est utilisé pour générer de force les commandes Bourne shell (/bin/sh) sur stdout. Le shell est automatiquement reconnu par défaut.
-t vie 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 est définie en secondes, mais peut être définie par divers suffixes, par ex. B. m pour les minutes, h pour les heures, d pour les jours et w pour les semaines. Si cette option n'est pas utilisée, l'agent conservera les clés en mémoire tant qu'il sera en cours d'exécution. Cette valeur est écrasée lorsque la commande ssh-add est exécutée.

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

$ ssh-agent -T 60

Vous verrez la sortie suivante 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 sur l'ordinateur serveur pour démarrer l'agent ssh pour l'authentification non interactive.

$ évaluer $(ssh-agent)

Vous verrez la sortie suivante après avoir exécuté la commande ci-dessus. ssh-agent est maintenant en cours d'exécution. Ici, le nom d'utilisateur de l'ordinateur serveur est "fahmida".

Utilisez ssh-add pour ajouter la phrase secrète de la clé privée à ssh-agent :

l'ajout ssh La commande nécessite de spécifier la phrase de passe pour la clé privée ssh. Connectez-vous maintenant à l'ordinateur client et exécutez le ssh-add Commande depuis le terminal.

$ ssh-add

Après avoir ajouté la clé privée à l'agent ssh, différents types de commandes SSH telles que scp, sftp, ssh, etc. peuvent être exécutées à partir de la machine cliente.

Copier le fichier du client vers le serveur :

le scp Commande pour copier le fichier du client vers le serveur et ssh Commande permettant de se connecter au serveur pour voir si le fichier a été copié ou n'apparaît pas dans cette partie du didacticiel. Créez un fichier texte nommé testfile.txt avec le contenu suivant.

testfile.txt

Il s'agit d'un fichier de test qui a été créé sur l'ordinateur client.

Exécutez la commande suivante pour afficher le contenu du testfile.txt Fichier avant de télécharger le `scp` Commande.

$ cat testfile.txt

Vous verrez la sortie suivante après avoir exécuté la commande ci-dessus.

Exécutez la commande suivante pour obtenir le testfile.txt Fichier de l'ordinateur client vers les documents Dossier de la machine serveur.

$ scp testfile.txt fahmida@fahida-VirtualBox :~/documents/

Vous verrez la sortie suivante après avoir exécuté la commande ci-dessus si le fichier a été copié avec succès à l'emplacement du serveur. Le nom d'utilisateur de l'ordinateur serveur est ici 'fahmida' et est le nom d'utilisateur de l'ordinateur client ‘Yasmin .

Exécutez la commande suivante pour vous connecter au serveur en tapant ssh Commande.

$ ssh fahmida@fahida-VirtualBox

Exécutez la commande suivante pour accéder aux documents Dossier de la machine serveur pour vérifier si le fichier texte a été copié ici ou non.

$ Documents sur CD

Exécutez la commande suivante pour voir la liste des fichiers et dossiers dans les documents Dossier.

$ ls
[[[[

La sortie suivante montre que le fichier texte dans documents Dossier de la machine serveur.

Exécutez maintenant la commande suivante pour vérifier le contenu du fichier testfile.txt sur l'ordinateur serveur.

$ cat testfile.txt

La sortie suivante montre que le contenu de testfile.txt sur l'ordinateur serveur correspond au contenu de textfile.txt sur l'ordinateur client.

Supprimez toutes les clés privées mises en cache de l'agent ssh :

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

Vous verrez la sortie suivante après avoir exécuté la commande ci-dessus.

Diplôme :

Utiliser ssh-agent est un moyen de se connecter de l'ordinateur client à l'ordinateur distant afin d'effectuer diverses tâches. Tout fichier peut être copié de la machine cliente vers la machine serveur en exécutant un agent SSH, qui est présenté dans ce didacticiel, pour faciliter l'utilisation de cette commande par le lecteur.


Ubuntu
  1. Comment utiliser la commande Su sous Linux

  2. Comment utiliser la commande Uptime dans Ubuntu Linux

  3. Comment utiliser la commande tail dans Ubuntu Linux

  4. Comment utiliser la commande string dans Ubuntu

  5. Comment utiliser ssh-keyscan sur Ubuntu

Comment installer et utiliser Busybox dans Ubuntu

Comment utiliser Ubuntu

Comment utiliser GDB pour déboguer des programmes dans Ubuntu 20.04

Comment utiliser la commande PS

Comment utiliser la commande TOP

Comment installer et utiliser la commande Exa sur Ubuntu 20.04