Recupera passphrase della chiave privata SSH dal portachiavi

4

Dopo aver eseguito l'aggiornamento di macOS ssh ha chiesto la mia passphrase ssh. Ho completamente dimenticato la passphrase dal momento che il portachiavi l'ha gestita.

Questo answer mostra come configurare il portachiavi in riconnettere e rimuovere la mia necessità di inserire la passphrase durante la connessione a un host. Dopo aver seguito questi passaggi posso ssh senza conoscere la passphrase della chiave privata, il che suggerisce che la passphrase sia memorizzata nel portachiavi.

Tuttavia, non riesco a trovare la passphrase ssh nel portachiavi. C'è un modo per recuperare la passphrase della chiave ssh dal portachiavi?

Questo domanda / risposta dice che il portachiavi mantiene le passphrase come elementi regolari del portachiavi, ma posso trovare solo un oggetto dopo aver cercato ssh e questo è un vecchio elemento per la mia chiave id_rsa originale che non è più utilizzata.

    
posta Josh 16.12.2016 - 18:03
fonte

3 risposte

4

Apri Accesso Portachiavi e attiva l'opzione Visualizza > Mostra elementi invisibili.

Di quanto devi cercare id_rsa o 'ssh'.

    
risposta data 13.03.2018 - 09:15
fonte
6

Risposta breve: Sì, scegli "Mostra elementi invisibili" in Accesso portachiavi

(Originariamente, questa risposta erroneamente diceva: "Al momento non sembra esserci un modo per recuperare la passphrase." Il resto della risposta confronta il modo in cui i passphrase delle chiavi SSH sono memorizzati nei portachiavi nelle versioni più vecchie e più recenti di macOS è tenuto qui per riferimento.)

In Mac OS X 10.11 e precedenti, le passphrase delle chiavi SSH erano memorizzate da ssh e ssh-add nel portachiavi di login dell'utente, usando le seguenti proprietà (pseudocodice adattato da Apple OpenSSH-195.40.1 ):

{
    kSecClass: kSecClassGenericPassword,
    kSecAttrAccount: pathToPrivateKey,
    kSecAttrLabel: "SSH: " + pathToPrivateKey,
    kSecAttrService: "SSH"
}

A partire da macOS 10.12, la passphrase viene interrogata e archiviata con proprietà che la costringono ad essere memorizzata nel portachiavi "sincronizzabile" (gli "Elementi locali" supportati dal database, chiamato anche "Portachiavi iCloud" se abilitato), con accesso controllato da un " Gruppo di accesso "; ssh ignorerà i vecchi elementi nel tuo portachiavi di accesso. Da Apple OpenSSH 209 :

{
    kSecClass: kSecClassGenericPassword,
    kSecAttrAccount: pathToPrivateKey,
    kSecAttrLabel: "SSH: " + pathToPrivateKey,
    kSecAttrService: "OpenSSH",
    kSecAttrNoLegacy: TRUE,
    kSecAttrAccessGroup: "com.apple.ssh.passphrases"
}

Apple non ha abilitato la riga di comando security strumento per accedere ai contenuti del portachiavi sincronizzabile, e per impostazione predefinita (a meno che non selezioni "Mostra elementi invisibili") Accesso Portachiavi non mostra nemmeno il suo contenuto completo, anche se l'elemento portachiavi ssh non è marcato esplicitamente come invisibile .

Se si voleva provare a ottenere la password senza usare Keychain Access, non penso sarebbe semplice o forse nemmeno possibile scrivere un programma che recupera la passphrase dal portachiavi, poiché l'accesso ad esso è controllato da Apple firma del codice.

Puoi vedere alcuni dettagli limitati sui passphrase memorizzati nel tuo portachiavi sincronizzabile usando il comando sqlite3 , ma la maggior parte dei campi interessanti come le etichette degli articoli sono crittografati.

$ 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
    
risposta data 10.01.2017 - 06:44
fonte
3

MacOS 10.13.3:

Apri Accesso Portachiavi e attiva l'opzione Visualizza > Mostra elementi invisibili.

Quindi devi cercare id_rsa o 'ssh'.

Fare clic per visualizzare la frase chiave. Potrebbe essere necessario fornire la password di accesso al Mac a quel punto.

    
risposta data 13.03.2018 - 16:21
fonte

Leggi altre domande sui tag