GNU/Linux >> Tutoriels Linux >  >> 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 clé SSH sur le serveur distant pour se connecter au serveur sans fournir le mot de passe de connexion. L'authentification unique et la connexion automatisée sans mot de passe via SSH peuvent être facilement mises en œuvre avec cet outil. Il copie les clés publiques sur celles de l'hôte distant ~/.ssh/authorized _keys en créant le fichier et le répertoire selon les besoins, mais cela ne modifie pas les autorisations d'un fichier ou d'un dossier existant. La façon dont la commande ssh-copy-id peut être utilisée pour la connexion SSH a été expliquée 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 :

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ôte

Diverses 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-VirtualBox

Vous 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-VirtualBox

Vous 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-add

Exé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-VirtualBox

La 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-VirtualBox

Comme 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.


Ubuntu
  1. Comment configurer et utiliser le serveur FTP dans Ubuntu Linux

  2. Comment installer MySQL sur Ubuntu 18.04

  3. Comment installer Zimbra 8.6 sur le serveur Ubuntu 14.04

  4. Comment installer et utiliser Telnet sur Ubuntu 20.04 LTS

  5. Comment utiliser Ubuntu Server Disk Top

Comment installer le serveur OpenSIPS sur Ubuntu 15.04

Comment configurer OpenVPN sur Ubuntu 16.04

Comment utiliser SSH pour se connecter à un serveur distant dans Ubuntu 20.04 LTS

Comment utiliser Ubuntu

Comment utiliser le chiffrement des e-mails dans Ubuntu

Comment installer Plex Media Server sur un serveur/bureau Ubuntu 16.04