Réponse courte : Oui, choisissez "Afficher les éléments invisibles" dans Keychain Access.
(A l'origine, cette réponse était incorrecte : "Il ne semble pas y avoir actuellement de moyen de récupérer la phrase de passe." Le reste de la réponse comparant la façon dont les phrases de passe des clés SSH sont stockées dans les trousseaux de clés sur les anciennes et les nouvelles versions de MacOS est conservé ici à titre de référence).
Dans Mac OS X 10.11 et antérieurs, les phrases de passe des clés SSH étaient stockées par ssh
y ssh-add
dans le trousseau de connexion de l'utilisateur, en utilisant les propriétés suivantes (pseudocode adapté de Apple OpenSSH-195.40.1 ) :
{
kSecClass: kSecClassGenericPassword,
kSecAttrAccount: pathToPrivateKey,
kSecAttrLabel: "SSH: " + pathToPrivateKey,
kSecAttrService: "SSH"
}
À partir de MacOS 10.12, la phrase de passe est interrogée et stockée avec des propriétés qui l'obligent à être stockée dans le trousseau "synchronisable" (les "éléments locaux" adossés à la base de données, également appelés "trousseau iCloud" s'ils sont activés), avec un accès contrôlé par un mot de passe. "Groupe d'accès" ; ssh
ignorera les anciens éléments de votre trousseau de connexion. À partir de Apple OpenSSH 209 :
{
kSecClass: kSecClassGenericPassword,
kSecAttrAccount: pathToPrivateKey,
kSecAttrLabel: "SSH: " + pathToPrivateKey,
kSecAttrService: "OpenSSH",
kSecAttrNoLegacy: TRUE,
kSecAttrAccessGroup: "com.apple.ssh.passphrases"
}
Apple n'a pas activé le site security
outil en ligne de commande pour accéder au contenu du trousseau synchronisable, et par défaut (sauf si vous sélectionnez "Afficher les éléments invisibles"), Keychain Access n'affiche pas non plus le contenu complet de celui-ci, même si l'élément du trousseau ssh n'est pas explicitement marqué comme invisible .
Si vous vouliez essayer d'obtenir le mot de passe sans utiliser Keychain Access, je ne pense pas qu'il serait simple ou peut-être même possible d'écrire un programme qui récupère la phrase de passe à partir du trousseau, puisque l'accès à celui-ci est contrôlé par la signature du code d'Apple.
Vous pouvez voir certains détails limités sur les phrases de passe stockées dans votre trousseau synchronisable en utilisant la fonction sqlite3
mais la plupart des champs intéressants, comme les étiquettes des articles, sont cryptés.
$ sqlite3 Library/Keychains/*/keychain-2.db "select rowid, datetime(mdat+978307200, 'unixepoch', 'localtime'), agrp from genp where agrp = 'com.apple.ssh.passphrases' order by mdat asc"
45|2017-01-07 13:53:13|com.apple.ssh.passphrases
46|2017-01-08 23:59:25|com.apple.ssh.passphrases