Comment utiliser SSH-Copy-ID sur Ubuntu

Comment utiliser SSH-Copy-ID sur Ubuntu
L'un des outils utiles de SSH est ssh-copy-id qui est utilisé pour installer la touche SSH sur le serveur distant pour se connecter dans le serveur sans fournir le mot de passe pour la connexion. Ainsi, la connexion unique et sans mot de passe automatisée à l'aide de SSH peut être implémentée facilement à l'aide de cet outil. Il copie les clés publiques de l'hôte éloigné ~ /.SSH / autorisé_Keys Fichier en créant le fichier et le répertoire si cela nécessite, mais il ne modifie pas l'autorisation d'un fichier ou d'un dossier existant. Comment la commande SSH-Copy-ID peut être utilisée pour la connexion SSH 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:

La syntaxe de la commande ssh-copy-id est donnée ci-dessous. Il prend en charge plusieurs options, qui sont expliquées plus tard.

ssh-copy-id [-lv] [-i keyfile] [-o option] [- p port] [user @] hostname

Différentes options de commande ssh-copy-id:

Les objectifs d'utiliser différentes options de commandes SSH-Copy-ID ont été décrites dans cette partie du tutoriel.

Option But
-je mette Il est utilisé pour copier la clé publique qui est stockée dans un déposer. Il peut être utilisé plusieurs fois.
-l Il est utilisé pour copier les clés actuellement détenues par l'agent SSH. Il utilise comme par défaut si l'option -i n'est pas spécifiée.
-o SSH-Option Il est utilisé pour transmettre l'option directement à SSH. Il peut être utilisé plusieurs fois.
-P PORT Il est utilisé pour se connecter avec le port spécifié de l'hôte distant au lieu du port par défaut qui est 22.
-V Il est utilisé pour passer la valeur de -v à SSH.

Copier la clé sur le serveur:

Vous devez autoriser la clé publique de la machine du serveur pour établir la connexion SSH sans utiliser de mot de passe. Après avoir créé la clé publique, la commande SSH-Copy-ID peut ajouter la clé en tant que clé autorisée sur la machine du serveur.

Exécutez la commande suivante à partir de la machine du serveur pour ajouter toute clé publique nouvellement créée comme clé autorisée du serveur.

$ ssh-copy-id Fahmida @ Fahmida-VirtualBox

La sortie suivante apparaîtra si la clé publique existe déjà dans le serveur distant; Sinon, la clé sera ajoutée.

Il est mentionné précédemment que l'option -i est utilisée avec la commande SSH-Copy-ID pour ajouter la clé publique du fichier. Si vous stockiez la clé publique nouvellement créée dans le fichier par défaut, le nom du fichier serait id_rsa.pub. Mais vous avez défini n'importe quel nom de fichier lors de la création des paires de clés, puis utilisez ce nom de fichier avec l'option -i. J'ai stocké la clé publique dans le fichier par défaut.

Exécutez la commande suivante à partir de la machine du serveur pour ajouter la clé publique à la machine du serveur. La commande copiera la clé sur le serveur et la configurera pour ajouter la clé au autorisé_keys fichier pour accéder au serveur.

$ ssh-copy-id -i ~ /.SSH / ID_RSA FAHMIDA @ FAHMIDA-VirtualBox

La sortie suivante apparaîtra si la clé publique ne s'ajoutait pas auparavant dans la machine du serveur.

Vérifiez la connexion:

Après avoir ajouté la clé au serveur, vous devez vérifier si la machine client peut se connecter avec le serveur. Le nom d'utilisateur de la machine du serveur est «Fahmida» et la machine client est «Yesmin» ici. Donc, connectez-vous d'abord à la machine client pour tester la connexion.

Exécutez la commande suivante pour ajouter l'identité du serveur à la machine client.

$ SSH-ADD

Exécutez la commande SSH suivante sans aucune option pour établir une connexion avec la machine du serveur. Si l'authentification basée sur le mot de passe est activée dans la machine du serveur, l'utilisateur doit fournir un mot de passe valide pour établir une connexion avec le serveur.

$ ssh Fahmida @ Fahmida-VirtualBox

La sortie suivante montre que l'identité du serveur a été ajoutée à la machine client. Ensuite, le mot de passe de l'utilisateur du serveur a demandé la connexion car l'authentification basée sur le mot de passe a été activée dans la machine du serveur ici. Le nom d'utilisateur est changé en `` Fahmida '' à partir du «Yesmin» dans l'invite de commande qui indique que la connexion a été établie correctement après avoir donné le mot de passe valide.

Si vous souhaitez mentionner le nom de fichier de la clé publique avec l'emplacement pour établir la connexion avec le serveur, exécutez la commande SSH suivante avec l'option -i. Il faudra besoin si vous stockez la clé publique dans le nom de fichier défini par l'utilisateur. J'ai utilisé le nom de fichier par défaut au moment de la génération de clés qui est id_rsa.

$ ssh -i ~ /.SSH / ID_RSA FAHMIDA @ FAHMIDA-VirtualBox

Il demandera le mot de passe comme avant d'établir la connexion avec le serveur. La sortie montre que la connexion a été établie correctement et que le nom d'utilisateur de l'invite de commande a changé. Vous pouvez modifier le fichier de configuration du serveur pour désactiver l'authentification basée sur le mot de passe si vous ne souhaitez pas fournir de mot de passe chaque fois que vous souhaitez vous connecter avec le serveur.

Conclusion:

Les utilisations de la commande SSH-Copy-ID pour se connecter avec l'hôte distant ont été décrites dans ce tutoriel en utilisant deux comptes d'utilisateurs de l'hôte local pour aider les lecteurs à connaître correctement la fonction de cette commande.