140 votes

Quelle est la signification de l'utilisateur/hôte à la fin d'un fichier de clé publique SSH ?

Je n'arrive pas à comprendre pourquoi un fichier de clé publique SSH généré par ssh-keygen ont un utilisateur et un hôte à la fin.

Exemple : id_rsa.pub

ssh-rsa ... rest of file ... /CA9gyE8HRhNMG6ZDwyhPBbDfX root@mydomain

Remarquez le root@mydomain à la fin du fichier.

Si je peux utiliser la clé publique n'importe où avec n'importe quel utilisateur pour m'authentifier à l'aide de ma clé privée, quelle est l'importance de root@mydomain dans le processus d'authentification ?

Ou est-ce juste un substitut pour déterminer par qui il a été émis ?

166voto

Michael Hampton Points 232226

Ce champ est un commentaire, et peut être modifié ou ignoré à volonté. Il est défini comme suit user@host par défaut par ssh-keygen .

Le site OpenSSH sshd(8) page de manuel décrit le format d'une clé publique ainsi :

Les clés publiques se composent des champs suivants, séparés par des espaces : options, keytype, clé codée en base64, commentaire. . . . Le champ commentaire n'est utilisé pour rien (mais peut être pratique pour l'utilisateur pour identifier la clé).

Le site ssh-keygen(1) page de manuel dit :

Le commentaire de la clé peut être utile pour aider à identifier la clé. Le commentaire est initialisé à "user@host" lorsque la clé est créée, mais peut être modifié à l'aide de l'option -c.

58voto

Jakuje Points 8949

Ceci est brièvement expliqué dans la page du manuel pour sshd(8) dans la section sur les clés autorisées :

La clé publique du protocole 2 consiste en : options , type de clé , clé codée en base64 , comment .

Sur openssh Dans le contexte des clés autorisées, il n'y a que le sens du commentaire. Mais il y a des implémentations SSH qui donnent des significations à cette partie, comme par exemple l'implémentation SSH dans les modems LANCOM qui utilise ce commentaire comme un nom d'utilisateur pour lequel la clé est valide.

20voto

Jacob Points 1861

Comme d'autres l'ont souligné, il s'agit d'un commentaire pour permettre vous pour identifier quelle clé est la bonne.

Lorsque l'on examine une seule clé, par exemple id_rsa.pub cela ne fait pas une grande différence, mais lorsque l'on examine une liste potentiellement longue de clés, comme celle que vous avez dans l'application authorized_keys il est très utile de pouvoir identifier facilement quelle clé est la bonne.

Aussi, ssh-keygen La valeur par défaut est user@hostname ce qui, dans les cas d'utilisation typiques, permet d'identifier clairement de quelle clé il s'agit ( user@domain ne le serait pas).

6voto

Giacomo1968 Points 3512

Très, très simple : Vous et moi sommes des humains utilisant une machine. Donc, en regardant l'exemple que vous avez posté :

ssh-rsa [piles of gobbledygook]…CA9gyE8HRhNMG6ZDwyhPBbDfX root@mydomain

Une machine peut lire ça :

ssh-rsa [piles of gobbledygook]…CA9gyE8HRhNMG6ZDwyhPBbDfX

Un humain peut lire ce commentaire :

root@mydomain

Les gens ont tendance à oublier que même si les choses peuvent regardez compliqués sur les systèmes informatiques, ils pourraient en fait être tonnes plus compliqué si le code a été conçu uniquement pour la consommation de la machine. Je veux dire, regardez le code obscur des logiciels malveillants. Une fois que vous le décodez et le formatez, il est lisible par l'homme. Mais quelqu'un a dû faire des efforts pour le rendre difficile à lire pour les humains.

Par défaut alle Les types de codage et les fichiers de configuration d'un système informatique sont des structures destinées à la consommation humaine parce que Nous sommes des humains utilisant des machines et les machines n'ont pas besoin de choses comme.. :

  • Commentaires.
  • Indentations.
  • Variables et fonctions écrites dans un langage lisible par l'homme.

Le commentaire s'adresse donc à vous, à moi et à personne d'autre. Le système fonctionnerait très probablement sans commentaire. Mais si quelque chose ne fonctionne pas à 3 heures du matin et que vous êtes à la recherche de la bonne clé publique, vous allez souhaiter/rêver/prier que le commentaire soit là.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X