La semplice risposta è: non lo fai.
Le chiavi SSH e le chiavi GnuPG (in realtà OpenPGP) sono completamente diverse, anche se entrambi i protocolli possono utilizzare coppie di chiavi RSA.
E inoltre, perché dovresti farlo? Anche se dovessi utilizzare lo stesso materiale chiave per creare la tua chiave PGP, dovrai comunque distribuire la tua chiave come chiave PGP. Probabilmente non hai distribuito la tua chiave pubblica SSH alle persone con cui ti colleghi, quindi da un punto di vista della distribuzione delle chiavi non c'è differenza: dovranno ricevere una chiave pubblica da te. E anche se hai distribuito la tua chiave pubblica SSH ad altre persone, dovrebbero prendere alcune misure aggiuntive per poterle importare nella loro implementazione OpenPGP, il che potrebbe essere o meno facile.
Come ha sottolineato abbastanza bene Kasperd, ci deve essere solo un modo per interpretare (in particolare) una firma. Se dovessi usare la stessa chiave sia per PGP che per SSH, se qualcuno potrebbe indurti a firmare un messaggio appositamente predisposto (che è una capacità presunta in alcuni attacchi del sistema di firma) in uno, allora anche se entrambi i sistemi sono sicuri in modo isolato potrebbe essere possibile elaborare un tale messaggio in un modo che abbia un significato in uno dei sistemi, ma un significato diverso nell'altro. Questo, di per sé, sarebbe una vulnerabilità. (Sfruttabile? Chi lo sa. Ma perché rischiare?)
Entrambe le coppie di chiavi PGP e SSH sono chiavi a lungo termine, che vengono utilizzate per proteggere chiavi simmetriche effimere (messaggi e sessioni), nonché per verificare l'autenticità di una parte remota. Ciò rende la chiave privata PGP o SSH un target di valore molto più elevato per un attaccante rispetto alla corrispondente chiave simmetrica. Se usi lo stesso materiale chiave per entrambi e un attaccante è in grado di rendersene conto, aumenta solo il valore di un attacco riuscito su quella coppia di chiavi.
Senza aver esaminato in dettaglio nessuno dei due protocolli, immagino che riconoscere che lo stesso materiale chiave viene utilizzato in entrambi sarebbe probabilmente piuttosto banale, dal momento che la chiave pubblica viene sostanzialmente trasmessa in chiaro.
Basta generare una nuova chiave PGP. Se vuoi, allora rendilo RSA e della stessa lunghezza della tua chiave SSH. (Nessuna persona sana la guarderà molto più da vicino che verificare comunque l'impronta digitale.) Quindi distribuire la chiave pubblica alle persone con cui si desidera corrispondere, come chiave PGP. Sarà molto più facile per tutti, e molto probabilmente più sicuro, al costo di una piccola quantità di entropia dal pool di entropie casuali del tuo sistema che dovrebbe comunque essere rapidamente reintegrato.
Se hai più chiavi sul tuo portachiavi segreto e vuoi specificare quale dovrebbe essere usato di default, usa le direttive default-key
e possibilmente default-recipient{,-self}
nel tuo ~ / .gnupg / gnupg.conf.