J'ai un tas d'utilisateurs, qui avec des clés SSH ont accès à des comptes sur d'autres serveurs. Actuellement, j'ai un script qui recueille les clés publiques ssh et les distribue au bon compte sur les bons serveurs.
Ce que je veux faire, c'est obtenir ce script pour vérifier que la clé ssh d'un utilisateur donné a une phrase de passe avant d'accepter la clé publique et de la distribuer.
J'ai essayé un certain nombre de choses, comme l' utilisation d' un ssh-agent
et ssh-add
puis le problème vient quand ssh-add
obtient demandé passphrase.
Existe-t-il un moyen d'obtenir quelque chose comme openssl
vérifier la phrase secrète, échouer légèrement avec un code retour 1
si la clé a une phrase secrète?
Merci!
Réponses:
Si un fichier de clés utilise une phrase secrète, il a l'attribut "Proc-Type:" défini avec le mot "ENCRYPTED" ajouté.
Ainsi, vous pouvez déterminer si un fichier clé utilise une phrase secrète en l'exécutant
find
etgrep
pour voir s'il contient la chaîne 'ENCRYPTED'.imprime une liste des fichiers qui ont des phrases secrètes. Ensuite, vous pouvez comparer ceux-ci à une liste de tous les fichiers clés pour distinguer ceux qui n'utilisent pas de phrase secrète. Une liste de tous les fichiers clés peut être obtenue, par exemple en omettant le
-exec
paramètre, comme suit:la source
Proc-Type
tête n'est pas écrit dans le fichier, bien qu'il soit chiffré.