Per quanto ne so, vuoi convertire una sottochiave di autenticazione in una chiave SSH e autenticarti usando questo.
If I generate a PGP subkey that only has the authentication capablity and use this to generate an SSH keypair to authenticate Git for example, does this pose a security threat?
Se questo è ragionevole o meno dipende da cosa stai cercando di ottenere. Le parti importanti di OpenPGP sono le sue funzionalità chiave e di gestione della fiducia. Quando si desidera utilizzare quelli per l'autenticazione tramite SSH (monkeysphere rende questo possibile, ma richiede qualche configurazione), si passa completamente la gestione delle chiavi da SSH a OpenPGP, rendendo molto più semplice l'aggiunta, lo scambio e la revoca delle chiavi. Se è così; vai per le sottochiavi di autenticazione, offrono un vantaggio reale!
Se non si desidera utilizzare quelle funzionalità estese (o potrebbero semplicemente utilizzarle in qualsiasi momento in futuro senza piani specifici), non farlo. Stai aggiungendo complessità (che è sempre una brutta cosa nella sicurezza delle informazioni) senza in realtà avere un vantaggio. Ad esempio, con GitHub non sarai in grado di utilizzare le funzionalità estese di monkeysphere - quindi meglio attaccare direttamente con una buona vecchia chiave SSH normale, dovrai comunque "revocarla" manualmente (ma rimuoverla dal GitHub pannello dell'account).
Generalmente, il riutilizzo dei segreti comporterà la caduta di più sistemi / servizi per una singola violazione in uno di essi, quindi generalmente farlo è una cattiva idea; ma i vantaggi nella gestione delle chiavi potrebbero valere il rischio leggermente più grande. Se non utilizzi le chiavi di autenticazione di OpenPGP altrimenti comunque, è nessun ulteriore rischio in una sottochiave di sola autenticazione utilizzata per SSH, perché non c'è altro servizio potrebbe essere usato per.
When I do, should I use my PGP private key, or the public authentification subkey?
Dovresti memorizzare la tua sottochiave di autenticazione pubblica sul sistema su cui desideri essere in grado di autenticarsi. La tua chiave privata rimane privata e viene utilizzata per rispondere a una richiesta inviata dal server di autenticazione.
Then when I add my passphrase-proteced private SSH key (./ssh/id_rsa) using te ssh-add command, I am prompted for my passphrase. But then when I make subsequent commits using Git, I am not prompted for my passphase by the SSH Agent. Why is this?
L'autenticazione tramite SSH e la firma con GnuPG non hanno nulla in comune. Non capisco la tua domanda; potresti voler essere più specifico su cosa richiede la tua password (e dove ti aspetteresti) e su come aggiungere la chiave OpenPGP allo ssh-agent.