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.
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_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 :
La syntaxe de la commande ssh-copy-id est illustrée ci-dessous. Il prend en charge plusieurs options qui seront expliquées plus tard.
ssh-copy-id [-lv] [-i fichier clé] [-o option][-p port] [utilisateur@]nom d'hôteDiverses options de la commande ssh-copy-id :
Le but de l'utilisation des différentes options des commandes ssh-copy-id a été décrit dans cette partie du tutoriel.
opportunité | but |
-i fichier clé | Il est utilisé pour copier la clé publique qui se trouve dans un fichier . Il peut être utilisé plusieurs fois. |
-l | Il est utilisé pour copier les clés dont dispose actuellement l'agent ssh. Il est utilisé par défaut lorsque l'option -i n'est pas spécifiée. |
-o option ssh | Il est utilisé pour se référer directement à l'option. passer sur ssh. Il peut être utilisé plusieurs fois. |
port-p | Il est utilisé pour se connecter au port spécifié sur l'hôte distant au lieu du port par défaut 22. |
-v | Il est utilisé pour transmettre la valeur de -v à ssh. |
Copiez la clé sur le serveur :
Vous devez autoriser la clé publique dans l'ordinateur serveur afin d'établir la connexion SSH sans utiliser de mot de passe. Une fois la clé publique créée, la commande ssh-copy-id peut ajouter la clé en tant que clé autorisée sur l'ordinateur serveur.
Exécutez la commande suivante sur l'ordinateur serveur pour ajouter une clé publique nouvellement créée en tant que clé autorisée du serveur.
$ ssh-copy-id fahmida@fahida-VirtualBoxVous verrez la sortie suivante si la clé publique existe déjà sur le serveur distant ; sinon la clé est ajoutée.
Il a été mentionné précédemment que l'option -i est utilisée avec la commande ssh-copy-id pour ajouter la clé publique à partir du fichier. Si vous avez enregistré la clé publique nouvellement créée dans le fichier par défaut, le nom du fichier est id_rsa.pub . Cependant, vous avez spécifié un nom de fichier de votre choix lors de la création des paires de clés, puis vous avez utilisé ce nom de fichier avec l'option -i. J'ai enregistré la clé publique dans le fichier par défaut.
Exécutez la commande suivante sur l'ordinateur serveur pour ajouter la clé publique à l'ordinateur serveur. La commande copie la clé sur le serveur et le configure pour ajouter la clé aux authorized_keys Fichier pour accéder au serveur.
$ ssh-copy-id -I ~/.ssh/id_rsa fahmida@fahida-VirtualBoxVous verrez la sortie suivante si la clé publique n'a pas été précédemment ajoutée sur l'ordinateur serveur.
Vérifiez la connexion :
Après avoir ajouté la clé au serveur, vous devez vérifier que la machine cliente peut se connecter au serveur. Le nom d'utilisateur de l'ordinateur serveur est 'fahmida', et l'ordinateur client est 'yesmin' ici. Connectez-vous d'abord à l'ordinateur client pour tester la connexion.
Exécutez la commande suivante pour ajouter l'identité du serveur à l'ordinateur client.
$ ssh-addExécutez la commande ssh suivante sans options pour vous connecter à l'ordinateur serveur. Si l'authentification par mot de passe est activée sur l'ordinateur serveur, l'utilisateur doit saisir un mot de passe valide pour se connecter au serveur.
$ ssh fahmida@fahida-VirtualBoxLa sortie suivante montre que l'identité du serveur a été ajoutée à la machine cliente. Ensuite, le mot de passe de l'utilisateur du serveur a demandé la connexion, car l'authentification par mot de passe a été activée sur l'ordinateur serveur. Le nom d'utilisateur est changé de "yesmin" à "fahmida" dans l'invite de commande, ce qui indique que la connexion a été établie correctement après avoir entré le mot de passe valide.
Pour spécifier le nom de fichier de la clé publique avec l'emplacement de connexion au serveur, exécutez la commande ssh suivante avec l'option -i. Il est requis lorsque vous enregistrez la clé publique dans le nom de fichier personnalisé. J'ai utilisé le nom de fichier par défaut id_rsa au moment de la génération de la clé.
$ ssh -I ~/.ssh/id_rsa fahmida@fahida-VirtualBoxComme précédemment, le mot de passe vous sera demandé pour vous connecter au serveur. La sortie montre que la connexion a été établie correctement et que le nom d'utilisateur de l'invite a changé. Vous pouvez modifier le fichier de configuration du serveur pour désactiver l'authentification par mot de passe si vous ne souhaitez pas fournir de mot de passe lors de la connexion au serveur.
Diplôme :
L'utilisation de la commande ssh-copy-id pour se connecter à l'hôte distant a été décrite dans ce didacticiel à l'aide de deux comptes d'utilisateurs d'hôte local pour aider les lecteurs à comprendre le fonctionnement de cette commande.