Простой ответ: вы этого не делаете.
Ключи SSH и ключи GnuPG (фактически, OpenPGP) совершенно разные, хотя оба протокола могут использовать пары ключей RSA.
И кроме того, почему вы хотите это сделать? Даже если бы вы использовали один и тот же материал ключа для составления вашего ключа PGP, вам все равно пришлось бы распространять свой ключ в качестве ключа PGP. Скорее всего, вы не передавали свой открытый ключ SSH людям, с которыми вы поддерживаете связь, поэтому с точки зрения распространения ключей нет никакой разницы: им нужно будет получить открытый ключ от вас. И даже если вы распространяли свой открытый ключ SSH среди других людей, им нужно будет предпринять некоторые дополнительные шаги, чтобы иметь возможность импортировать его в свою реализацию OpenPGP, что может быть или не быть простым.
Как справедливо указал Касперд, должен быть только один способ интерпретировать (в частности) подпись. Если бы вы использовали один и тот же ключ как для PGP, так и для SSH, если кто-то мог бы заставить вас подписать специально созданное сообщение (что является предполагаемой возможностью при определенных атаках с использованием системы сигнатур) в одном, то даже если обе системы безопасны в изоляции, это может быть возможно создать такое сообщение таким образом, что оно имеет одно значение в одной из систем, но другое значение в другой. Это само по себе было бы уязвимостью. (Используемый? Кто знает. Но зачем рисковать?)
Пары ключей PGP и SSH являются долговременными ключами, которые используются для защиты эфемерных (сообщения и сеанса) симметричных ключей, а также для проверки подлинности удаленной стороны. Это делает закрытый ключ PGP или SSH гораздо более значимым целевым объектом для злоумышленника, чем соответствующий симметричный ключ. Если вы используете один и тот же материал ключа для обоих, и злоумышленник может это понять, это только увеличивает ценность успешной атаки на эту пару ключей.
Не рассматривая ни один из протоколов подробно, я полагаю, что признание того, что один и тот же материал ключа используется в обоих, вероятно, будет довольно тривиальным, поскольку открытый ключ в основном передается в открытом виде.
Просто сгенерируйте новый ключ PGP. Если вы хотите, то сделайте его RSA и такой же длины, как ваш ключ SSH. (Ни один здравомыслящий человек не собирается смотреть на это намного ближе, чем проверка отпечатка пальца в любом случае.) Затем раздайте открытый ключ людям, с которыми вы хотите переписываться, в качестве ключа PGP. Это будет намного проще для всех и, скорее всего, безопаснее, за счет небольшого количества энтропии из случайного пула энтропии вашей системы, которое в любом случае должно быть быстро пополнено.
Если в вашем секретном брелоке есть несколько ключей и вы хотите указать, какой из них следует использовать по умолчанию, используйте директивы default-key
и, возможно, default-recipient{,-self}
в вашем ~ / .gnupg / gnupg.conf.