Cách xuất khóa riêng GPG và khóa chung sang tệp


18

Tôi đã tạo khóa bằng GPG, bằng cách thực hiện lệnh sau

gpg --gen-key

Bây giờ tôi cần xuất cặp khóa thành một tệp; tức là, các phím tư nhân và công cộng để private.pgppublic.pgp, tương ứng. Tôi phải làm nó như thế nào?

Câu trả lời:


27

Xuất khóa công khai

Lệnh này sẽ xuất phiên bản bọc thép ascii của khóa chung:

gpg --output public.pgp --armor --export username@email

Xuất bí mật

Lệnh này sẽ xuất phiên bản bọc thép ascii của khóa bí mật:

gpg --output private.pgp --armor --export-secret-key username@email


Mối quan tâm bảo mật, sao lưu và lưu trữ

Khóa công khai PGP chứa thông tin về địa chỉ email của một người. Điều này thường được chấp nhận vì khóa chung được sử dụng để mã hóa email đến địa chỉ của bạn. Tuy nhiên, trong một số trường hợp, điều này là không mong muốn.

Đối với hầu hết các trường hợp sử dụng, khóa bí mật không cần phải được xuất và không được phân phối . Nếu mục đích là để tạo khóa sao lưu, bạn nên sử dụng tùy chọn sao lưu:

gpg --output backupkeys.pgp --armor --export --export-options export-backup user@email

Điều này sẽ xuất tất cả thông tin cần thiết để khôi phục các khóa bí mật bao gồm thông tin cơ sở dữ liệu tin cậy. Đảm bảo bạn lưu trữ bất kỳ khóa bí mật dự phòng nào khỏi nền tảng máy tính và ở một vị trí thực tế an toàn.

Nếu khóa này là quan trọng với bạn, tôi khuyên bạn nên in ra chìa khóa trên giấy sử dụng paperkey . Và đặt chìa khóa giấy trong một két sắt chống cháy / chống thấm nước.

Máy chủ khóa công cộng

Nói chung, không nên đăng khóa công khai cá nhân lên các máy chủ chính. Không có phương pháp xóa khóa sau khi được đăng và không có phương pháp nào đảm bảo rằng khóa trên máy chủ được đặt ở đó bởi chủ sở hữu được cho là của khóa.

Sẽ tốt hơn nhiều nếu đặt khóa công khai của bạn trên một trang web mà bạn sở hữu hoặc kiểm soát. Một số người đề xuất keybase.io để phân phối. Tuy nhiên, phương pháp đó theo dõi sự tham gia trong các cộng đồng xã hội và kỹ thuật khác nhau có thể không được mong muốn đối với một số trường hợp sử dụng.

Đối với kỹ thuật lão luyện, cá nhân tôi khuyên bạn nên dùng thử dịch vụ khám phá khóa cấp độ tên miền webkey .


Khóa đã xuất (lệnh thứ hai) có được mã hóa hay tôi cần tự mã hóa nó trước khi lưu trữ trên ổ đĩa USB?
Julian

1
@Julian ... Khóa bí mật đã xuất có cùng sự bảo vệ với khóa bí mật đã được xuất. Nếu có cụm mật khẩu, cụm mật khẩu được yêu cầu để nhập khóa bí mật.
RubberStamp

1
Tôi đã tạo một bản sao lưu bằng phương pháp trên, nhưng dại dột quên kiểm tra nó. Trừ khi tôi thiếu một cái gì đó, tôi dường như không thể khôi phục khóa công khai của mình từ phương thức sao lưu được chỉ định ( --export-options export-backup, v.v.). Tôi có đang thiếu thứ gì đó không, hay tôi đã hiểu nhầm loại sao lưu mà nó đang tạo ra?
OMGtechy

Các tài liệu biết --export-secret-keys, nhưng không --export-secret-key.
jarno

@OMGtechy Bạn đã cố gắng khôi phục (các) khóa như thế nào? Tôi có thể khôi phục khóa công khai bằng cách gpg --import-options restore --import backupkeys.pgp, nhưng điều đó không khôi phục khóa bí mật, chỉ có khóa công khai, nếu backupkeys.pgp được tạo bởi gpg --output backupkeys.pgp --armor --export --export-options export-backup. Trong đó --armorlà không cần thiết và export-backupcó thể được thay thế bởi backup.
jarno

2
  • Liệt kê các khóa bạn có: gpg --list-secret-keys
  • Xuất khóa: gpg --export-secret-key name > ~/my-key.asc
  • Sao chép nó trên một máy khác;
  • Nhập khóa: gpg --import my-key.asc
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.