संक्षिप्त उत्तर: हां, किचेन एक्सेस में "शो अदृश्य आइटम" चुनें
(मूल रूप से, इस उत्तर ने गलत तरीके से कहा: "वर्तमान में पासफ़्रेज़ को पुनर्प्राप्त करने का कोई तरीका प्रतीत नहीं होता है।" शेष उत्तर की तुलना करें कि कैसे SSH कुंजी पासफ़्रेज़ मैकच के पुराने और नए संस्करणों पर किचेन में संग्रहीत किए जाते हैं। संदर्भ।)
मैक ओएस एक्स 10.11 और उससे पहले में, एसएसएच कुंजी पासफ्रेज द्वारा संग्रहीत किए गए थे ssh तथा ssh-add उपयोगकर्ता के लॉगिन किचेन में, निम्न गुणों का उपयोग करके (छद्मकोड से अनुकूलित Apple OpenSSH-195.40.1 ):
{
kSecClass: kSecClassGenericPassword,
kSecAttrAccount: pathToPrivateKey,
kSecAttrLabel: "SSH: " + pathToPrivateKey,
kSecAttrService: "SSH"
}
MacOS 10.12 के रूप में, पासफ़्रेज़ को क्वैरी किया जाता है और उन गुणों के साथ संग्रहीत किया जाता है जो इसे "सिंकेबल" कीचेन (डेटाबेस-समर्थित "स्थानीय आइटम", जिसे "iCloud किचेन" भी कहा जाता है, यदि वह सक्षम है) में संग्रहीत किया जाता है, तो एक्सेस नियंत्रित एक के द्वारा "एक्सेस ग्रुप" ; ssh आपके लॉगिन किचेन में पुरानी वस्तुओं को अनदेखा करेगा।
से Apple OpenSSH 209 :
{
kSecClass: kSecClassGenericPassword,
kSecAttrAccount: pathToPrivateKey,
kSecAttrLabel: "SSH: " + pathToPrivateKey,
kSecAttrService: "OpenSSH",
kSecAttrNoLegacy: TRUE,
kSecAttrAccessGroup: "com.apple.ssh.passphrases"
}
Apple ने सक्षम नहीं किया है security कमांड लाइन उपकरण समन्वयन योग्य चाबी का गुच्छा की सामग्री का उपयोग करने के लिए, और डिफ़ॉल्ट रूप से (जब तक आप "अदृश्य आइटम दिखाएँ" का चयन न करें) कीचेन एक्सेस इसके बारे में पूरी सामग्री नहीं दिखाता है, भले ही ssh चाबी का गुच्छा आइटम स्पष्ट रूप से चिह्नित नहीं है अदृश्य ।
यदि आप किचेन एक्सेस का उपयोग किए बिना पासवर्ड प्राप्त करने का प्रयास करना चाहते हैं, तो मुझे नहीं लगता कि यह सीधा या शायद एक प्रोग्राम लिखना संभव होगा जो कि किचेन से पासफ़्रेज़ प्राप्त करता है, क्योंकि एक्सेस करने के लिए इसे Apple के कोड साइनिंग द्वारा नियंत्रित किया जाता है।
आप अपने सिंक करने योग्य किचेन में संग्रहीत पासफ़्रेज़ के बारे में कुछ सीमित विवरण देख सकते हैं sqlite3 कमांड, लेकिन आइटम लेबल जैसे अधिकांश दिलचस्प फ़ील्ड एन्क्रिप्टेड हैं।
$ 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