Comment gérez-vous les clés SSH?


15

J'ai un serveur avec plusieurs utilisateurs qui ont chacun plusieurs clés SSH autorisées. Existe-t-il un moyen efficace (utilitaire de ligne de commande?) De garder une trace de quelle clé appartient à qui et de supprimer / ajouter rapidement des clés (à l'exception de ssh-copy-id)?


1
les scripts shell peuvent facilement suivre les temps de connexion à partir des journaux et manipuler les fichiers en .ssh ... Je sais que ce n'est pas ce que vous recherchez, c'est donc un commentaire et non une réponse
RobotHumans

1
Utilisez la dernière partie de chaque ligne .ssh/authorized_keyspour les commentaires (à partir de man sshd: "Les clés publiques du protocole 1 sont composées des champs séparés par des espaces suivants: options, bits, exposant, module, commentaire. La clé publique du protocole 2 se compose de: options, type de clé, clé codée en base64, commentaire. "). Et pour répondre à la question, j'utilise vimmais n'importe quel éditeur devrait le faire.
shellholic

Bien sûr, si chaque utilisateur possède un compte utilisateur distinct, il n'y a pas de problème, tant que toutes les entrées se trouvent dans le dossier de départ de chacun (ou en fait dans .ssh / authorized_keys, mais de toute façon).
Olli

@shellholic, vous avez une bonne réponse. Postez-le pour qu'il puisse être marqué comme tel :)
djeikyb

@djeikyb ok, c'est fait, mais je devrais terminer un peu
shellholic

Réponses:


3

Vous pouvez utiliser la dernière partie de chaque ligne dans .ssh/authorized_keysest destinée aux commentaires. De man sshd:

Les clés publiques du protocole 1 se composent des champs séparés par des espaces suivants: options, bits, exposant, module, commentaire. La clé publique du protocole 2 se compose de: options, type de clé, clé codée en base64, commentaire.

Et pour répondre à la question, j'utilise vimmais n'importe quel éditeur devrait le faire.

Mes commentaires contiennent généralement:

  • date de création
  • emplacement physique: création ordinateur / clé USB (je préfère ne pas déplacer de clé privée mais les générer / révoquer et savoir où ils se trouvent)
  • 1-2 mots sur le but (pour quelle connexion, pour quel client, pour quel script)

3

Je vérifierais le projet Monkeysphere . Il utilise les concepts Web of Trust d'OpenPGP pour gérer les fichiers author_keys et known_hosts de ssh, sans nécessiter de modification du client ou du serveur ssh.



En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.