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 rsaExé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_configAjoutez les lignes suivantes au fichier pour activer la connexion root et l'authentification par mot de passe.
Authentification par mot de passe Oui monsieurPermitRootLogin Oui monsieur
Exécutez la commande suivante pour redémarrer le service SSH.
$ sudo service ssh recommencerSyntaxe :
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 60Vous 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.txtIl 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.txtVous 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-VirtualBoxExé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 CDExé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.txtLa 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 -DVous 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.