Câu trả lời đơn giản là: Bạn không.
Các khóa SSH và các khóa GnuPG (thực ra là OpenPGP) hoàn toàn khác nhau, mặc dù cả hai giao thức đều có thể sử dụng các cặp khóa RSA.
Và bên cạnh đó, tại sao bạn muốn làm điều đó? Ngay cả khi bạn đã sử dụng cùng một vật liệu chính để tạo khóa PGP của mình, bạn vẫn cần phân phối khóa của mình dưới dạng khóa PGP. Bạn có thể chưa phân phối khóa công khai SSH của mình cho những người bạn tương ứng, do đó, từ quan điểm phân phối khóa, không có sự khác biệt: họ sẽ cần nhận khóa công khai từ bạn. Và ngay cả khi bạn đã phân phối khóa công khai SSH của mình cho người khác, họ sẽ cần thực hiện một số bước bổ sung để có thể nhập nó vào triển khai OpenPGP của họ, điều này có thể hoặc không dễ dàng.
Như kasperd khá chỉ ra, chỉ có một cách để giải thích (đặc biệt) một chữ ký. Nếu bạn sử dụng cùng một khóa cho cả PGP và SSH, nếu ai đó có thể lừa bạn ký một tin nhắn được chế tạo đặc biệt (đó là khả năng giả định trong các cuộc tấn công hệ thống chữ ký nhất định) trong một, thì ngay cả khi cả hai hệ thống đều được cách ly nó có thể tạo ra một thông điệp như vậy theo cách có một ý nghĩa trong một trong các hệ thống, nhưng có nghĩa khác trong một hệ thống khác. Điều đó, bản thân nó, sẽ là một lỗ hổng. (Có thể khai thác? Ai biết được. Nhưng tại sao lại nắm lấy cơ hội?)
Cả hai cặp khóa PGP và SSH đều là các khóa dài hạn, được sử dụng để bảo mật các khóa đối xứng phù hợp (tin nhắn và phiên), cũng như xác minh tính xác thực của một bên từ xa. Điều đó làm cho khóa riêng PGP hoặc SSH trở thành mục tiêu có giá trị cao hơn cho kẻ tấn công so với khóa đối xứng tương ứng. Nếu bạn sử dụng cùng một vật liệu chính cho cả hai và kẻ tấn công có thể nhận ra điều đó, nó chỉ làm tăng giá trị của một cuộc tấn công thành công vào cặp khóa đó.
Không nhìn vào giao thức một cách chi tiết, tôi tưởng tượng rằng việc nhận ra rằng cùng một tài liệu chính đang được sử dụng trong cả hai có thể khá tầm thường, vì khóa công khai về cơ bản được truyền đi rõ ràng.
Chỉ cần tạo khóa PGP mới. Nếu bạn muốn, sau đó đặt nó là RSA và có cùng độ dài với khóa SSH của bạn. (Không có người tỉnh táo nào sẽ nhìn gần hơn nhiều so với việc xác minh dấu vân tay.) Sau đó, phân phối khóa chung cho những người bạn muốn tương ứng, dưới dạng khóa PGP. Nó sẽ dễ dàng hơn nhiều cho mọi người, và rất có thể an toàn hơn, với chi phí của một lượng nhỏ entropy từ nhóm entropy ngẫu nhiên của hệ thống của bạn sẽ được bổ sung nhanh chóng.
Nếu bạn có nhiều khóa trên khóa bí mật của mình và muốn chỉ định khóa nào sẽ được sử dụng theo mặc định, hãy sử dụng các lệnh default-key
và có thể default-recipient{,-self}
trong lệnh ~ / .gnupg / gnupg.conf của bạn.