Comment utiliser la commande ssh-copy-id

How Use Ssh Copy Id Command



La commande ssh-copy-id est un outil simple qui vous permet d'installer une clé SSH sur les clés autorisées d'un serveur distant. Cette commande facilite la connexion par clé SSH, ce qui élimine le besoin d'un mot de passe pour chaque connexion, garantissant ainsi un processus de connexion automatique sans mot de passe. La commande ssh-copy-id fait partie d'OpenSSH, un outil permettant d'effectuer des administrations système à distance à l'aide de connexions SSH cryptées.

Cet article vous montre comment utiliser l'outil ssh-copy-id pour rendre vos connexions SSH plus transparentes et sécurisées.







Comment installer la commande ssh-copy-id

L'outil ssh-copy-id, qui fait partie du package OpenSSH, est disponible dans tous les principaux référentiels de distribution Linux et vous pouvez utiliser votre gestionnaire de packages pour installer cette commande.



Pour installer l'outil ssh-copy-id sur Debian, utilisez la commande suivante :



sudo apt-get mise à jour && sudo apt-get installeropenssh-client

Une fois OpenSSH installé, vous pouvez utiliser l'outil ssh-copy-id dans la ligne de commande.





$ ssh-copy-id

Usage:/usr/un m/ssh-copie-id[-h|-?|-F|-n] [-je[fichier_identité]] [-p port] [[-ou<ssh -ouoptions>]...] [utilisateur@]nom d'hôte-f : forcer le mode-copier les clés sans essayer de vérifiersiils sont déjà installés -n : marche à sec-aucune clé n'est réellement copiée-h|-?: imprimez ceciaider

L'utilisation de ssh-copy-id est simple car le script rend le processus d'authentification par clé publique plus simple et plus efficace. Avant de nous plonger dans l'utilisation de l'outil, nous allons d'abord discuter du fonctionnement de l'authentification par clé publique SSH.

REMARQUE : Si vous savez déjà comment fonctionne l'authentification par clé publique SSH, n'hésitez pas à ignorer cette partie et à approfondir la façon d'utiliser immédiatement la commande ssh-copy-id.



Authentification par clé publique SSH

L'authentification par clé SSH publique est une méthode d'authentification SSH qui permet aux utilisateurs d'utiliser des clés générées de manière cryptographique pour se connecter à des serveurs distants.

Les clés SSH sont plus sécurisées que les mots de passe bruts et offrent un moyen beaucoup plus efficace de se connecter à SSH. Les clés SSH sont automatisées, et une fois autorisées, ne nécessitent pas de mot de passe à chaque connexion.

Pour utiliser une clé SSH, nous allons commencer par générer une clé.

Comment générer une clé SSH

Pour générer une clé SSH, utilisez l'outil ssh-keygen qui fait partie d'OpenSSH. Cet outil génère des fichiers de clés publiques et privées stockés dans le répertoire ~/.ssh, comme indiqué ci-dessous.

$ssh-keygen

Générer du public/paire de clés rsa privées.
Entrerdéposer dans lequelpour enregistrer la clé(/racine/.ssh/id_rsa):
Répertoire créé'/racine/.ssh'.
Saisir la phrase secrète(videpourpas de phrase secrète):
Saisissez à nouveau la même phrase secrète :
Votre identification a été enregistréedans /racine/.ssh/id_rsa.
Votre clé publique a été enregistréedans /racine/.ssh/id_rsa.pub.
L'empreinte digitale clé est :
SHA256:ddVOQhS6CGt8Vnertz9aiSnvOUKmSpPrZ+gI24DptsA racine@utilisateur La cléL'image randomart de est :
+---[RSA 2048]----+
| o=o |
| o. o|
| . . +.+. |
| . + + o .o|
| S+. . |
|. o ..o o + .|
|.Et le +. +. + + |
|o. = o.o+ .o.+..|
| .o .. oo =' o = o.+ |
+----[SHA256]-----+

Comment copier la clé SSH à l'aide de SSH-copy-id

Une fois que nous avons généré une clé SSH, nous pouvons ajouter manuellement la clé SSH au fichier enabled_keys de la machine distante ou utiliser la commande ssh-copy-id.

Nous utiliserons la commande ssh-copy-id pour faciliter ce processus. Appelez simplement la commande ssh-copy-id et transmettez le chemin d'accès à la clé publique, comme suit :

$ssh-copie-id-je~/.ssh/utilisateur id_rsa.pub@77.134.54.101-p 6576

Après avoir entré la commande ci-dessus, vous devriez obtenir la sortie suivante :

/usr/un m/ssh-copy-id : INFO : Source de la clé(s)étre installé:'/root/.ssh/id_rsa.pub'
/usr/un m/ssh-copy-id : INFO : tentative de connexiondansavec la nouvelle clé(s), pour filtrer ceux qui sont déjà installés
/usr/un m/ssh-copy-id : INFO :1clé(s)reste à installer- sivous êtes maintenant invité àinstallerle nouvel utilisateur des clés@Mot de passe 77.134.54.101 :
Nombre de clé(s)ajoutée:1Essayez maintenant de vous connecter à la machine, avec :'ssh -p '6576' ' [email protégé] ''et vérifier àFabriquersûr que seule la clé(s)que vous vouliez ont été ajoutés.

REMARQUE : Ne copiez jamais votre clé privée sur une autre machine.

Une fois la commande exécutée avec succès, essayez de vous connecter au serveur à l'aide de la clé que vous avez téléchargée, comme suit :

$ssh -p 6576linkfy@77.134.54.101

La commande ci-dessus vous demandera d'entrer la phrase secrète de votre clé publique, comme indiqué dans la sortie ci-dessous :

Saisir la phrase secrètepourclé'/root/.ssh/id_rsa':
Dernière connexion : ven. mars5 14:06:16 2021à partir de 173.208.98.186

La commande ci-dessus devrait vous permettre de vous connecter à l'hôte distant sans demander le mot de passe de l'utilisateur. Le système peut vous demander d'entrer la phrase secrète de la clé que vous avez configurée précédemment.

Options de commande SSH-copy-id

Vous pouvez modifier le fonctionnement de la commande ssh-copy-id en utilisant les arguments fournis. Pour afficher la page d'aide, utilisez la commande ssh-copy-id -h ou utilisez la commande ssh-copy-id sans arguments.

  1. -j'argumente : Cet argument spécifie le fichier d'identité à utiliser, c'est-à-dire copié sur l'hôte distant spécifié. Si vous ne spécifiez pas l'argument -i, tous les fichiers du répertoire ~/.ssh avec le modèle correspondant *.pub seront ajoutés.
  2. -f indicateur : Ce drapeau active le mode forcé, qui ne vérifie pas si la clé est pré-configurée dansauthorized_keys sur le serveur. L'indicateur -f ajoute une clé, ce qui entraîne souvent plusieurs copies de la même clé installées sur le serveur.
  3. -p indicateur : cet indicateur spécifie le port SSH pour se connecter à l'hôte distant. Cet indicateur est utilisé lorsque le port SSH par défaut n'est pas utilisé.
  4. -n indicateur : ce drapeau effectue un essai qui imprime les clés destinées à l'installation sans les installer sur l'hôte distant.

Conclusion

Ce guide vous a montré comment utiliser la commande ssh-copy-id pour installer des clés SSH sur des hôtes distants. Bien que cela puisse être une méthode simple et efficace pour installer des clés, des clés mal configurées peuvent entraîner des problèmes de sécurité ou être verrouillées hors du système. Par conséquent, soyez extrêmement prudent lorsque vous expérimentez ce processus.