Sto riscontrando alcuni problemi con l'integrazione del portachiavi SSH in OS X Mavericks. Ho provato a cercare il sito di supporto di Apple, ma non ho visto nessuno avere il mio problema. Ho visto molte persone che apparentemente non sanno usare bene SSH, quindi ho deciso di provare un'altra community.
Innanzitutto, la mia configurazione funziona. Sono in grado di utilizzare la mia coppia di chiavi e ssh per gli host di cui ho bisogno, con le mie credenziali memorizzate nella cache nell'agente. Sono in grado di vedere le mie credenziali memorizzate nella cache tramite "ssh-add -l", come previsto. Mi viene richiesto di inserire la mia password da una finestra di dialogo in stile OS X, con una casella che dice "Ricorda la password nel mio portachiavi". Di solito ignoro questa casella di controllo, ma quando la seleziono, vedo la mia chiave memorizzata nel portachiavi. Questa chiave memorizzata nel portachiavi non sembra essere mai utilizzata, tuttavia, poiché ho una password. Almeno questo è quello che ho raccolto da varie cose che ho letto. Quando inserisco la mia password nella finestra di dialogo e la chiave viene memorizzata nella cache nell'agente, mi collego correttamente, ma non prima che mi venisse detto "Il salvataggio della password nel portachiavi non è riuscito". Vedere questo messaggio di errore è ciò che mi ha portato a indagare ulteriormente; Non mi piace ricevere un errore ogni volta che mi connetto.
Le cose si fanno interessanti guardando la manpage SSH_CONFIG (5) . Esistono due opzioni per gestire il portachiavi, specifiche per Apple: AskPassGUI e KeychainIntegration. Puoi abilitarli in ~ / .ssh / config, e così facendo si ottengono alcuni risultati interessanti.
Impostando AskPassGUI su no, non ti verrà più richiesto un dialogo in stile OS X, ma una riga di testo di input nel tuo terminale. Nessun problema. Ma se lo fai, allora ssh-agent non memorizzerà nella cache le tue credenziali. Questo è chiaramente rotto e frustrante perché potrei facilmente convivere con il messaggio di testo se le credenziali fossero memorizzate nella cache.
Impostando KeychainIntegration su no, ssh genera un errore grave, come segue:
~/.ssh/config: line 11: Bad configuration option: KeychainIntegration
~/.ssh/config: terminating, 1 bad configuration options
La mia domanda, semplicemente, è questa: esiste un modo per disabilitare effettivamente l'integrazione del portachiavi OS X per SSH?