Проста відповідь: Ви цього не робите.
Ключі SSH та GnuPG (насправді OpenPGP) абсолютно різні, хоча обидва протоколи можуть використовувати пари ключів RSA.
І крім того, чому б ви хотіли це робити? Навіть якщо для створення PGP-ключа ви використовували один і той же ключ, вам все одно доведеться поширювати свій ключ як PGP-ключ. Ви, ймовірно, не розповсюджували свій відкритий ключ SSH людям, з якими спілкуєтесь, тому з точки зору розповсюдження ключів різниці немає: їм потрібно буде отримати відкритий ключ від вас. І навіть якщо ви розповсюджуєте свій відкритий ключ SSH іншим людям, їм потрібно буде зробити деякі додаткові кроки, щоб мати змогу імпортувати його до своєї реалізації OpenPGP, що може бути, а може і не бути простим.
Як kasperd досить righly зазначив, що має бути тільки один спосіб інтерпретувати ( в Зокрема) підпис. Якщо ви використовували один і той же ключ і для PGP, і для SSH, якщо хтось може ввести вас в підписання спеціально створеного повідомлення (яке є передбачуваною можливістю в певних атаках системи підпису) в одній, то навіть якщо обидві системи захищені в ізоляції може бути можливим скласти таке повідомлення таким чином, що в одній із систем має одне значення, а в іншому значення . Це саме по собі було б вразливістю. (Експлоатація? Хто знає. Але навіщо ризикувати?)
Обидві пари клавіш PGP і SSH - це довгострокові ключі, які використовуються для захисту ефемерних (повідомлення та сеансу) симетричних ключів, а також для перевірки справжності віддаленої партії. Це робить приватний ключ PGP або SSH набагато вищим значенням для злочинця, ніж відповідний симетричний ключ. Якщо ви використовуєте один і той же ключовий матеріал для обох, і зловмисник може це зрозуміти, це лише збільшує значення успішної атаки на цю пару ключів.
Не дивлячись детально жоден протокол, я гадаю, що визнання того, що один і той же ключовий матеріал використовується в обох, може бути досить тривіальним, оскільки відкритий ключ в основному передається чітко.
Просто створіть новий ключ PGP. Якщо ви хочете, зробіть це RSA та тієї ж довжини, що і ваш ключ SSH. (Жодна нормальна людина не збирається придивлятися до цього набагато ближче, ніж перевірити відбиток пальців.) Потім роздайте відкритий ключ людям, з якими ви хочете спілкуватися, як ключ PGP. Кожному буде набагато простіше і, швидше за все, безпечніше, ціною невеликої кількості ентропії від пулу випадкових ентропій вашої системи, який у будь-якому разі повинен бути швидко поповнений.
Якщо у вашому секретному ключі є кілька ключів і ви хочете вказати, який з них слід використовувати за замовчуванням, використовуйте default-key
і, можливо, default-recipient{,-self}
директиви у вашому ~ / .gnupg / gnupg.conf.