ký gpg2 và git


0

Tôi có một vấn đề với gpg2 và ký cam kết của tôi trong git. Tôi nên mở đầu tất cả những điều này bằng cách nói rằng tất cả đã hoạt động vào ngày hôm qua trước khi tôi thực hiện apt-get update && apt-get upgradevà khởi động lại.

Bây giờ khi tôi cố gắng ký cam kết của mình, tôi nhận được thông báo lỗi sau:

gpg: skipped "3C27FEA3B5758D9E": No secret key
gpg: signing failed: No secret key
error: gpg failed to sign the data
fatal: failed to write commit object

Trên thực tế, tôi dường như nhận được nó khi tôi cố gắng để thay đổi quá nhiều thay đổi của tôi.

Khi tôi làm một pgrep tôi có thể thấy tác nhân gpg đang chạy nên tôi đã giết nó và khởi động lại nó.

Tôi cũng có cái này trong .bashrctập tin của mình :

export GPG_TTY=$(tty)

Đầu ra của gpg2 --list-keys /home/mdhas/.gnupg/pubring.gpg:

------------------------------
pub   rsa2048/FBJJJJ1C 2017-10-11 [SC]
uid         [ultimate] Mark Dhas <mark.dhas@company.company>
sub   rsa2048/3FDJJJJJ 2017-10-11 [E]

pub   rsa2048/BFJJJJJ7 2017-11-17 [SC]
uid         [ultimate] Mark Dhas <mark.dhas@company.company>
sub   rsa2048/DEDDJJJJ 2017-11-17 [E]

pub   rsa4096/7137JJJJ 2017-10-11 [SC] [expires: 2021-10-11]
uid         [ unknown] co.co <mark.dhas@company.company>
sub   rsa4096/A9BJJJJJ 2017-10-11 [E] [expires: 2021-10-11]

pub   rsa4096/B57JJJJJ 2018-10-31 [SC] [expires: 2021-10-31]
uid         [ unknown] Mark Dhas (New Key-Created on 2018-10-31) <mark.dhas@company.company>
sub   rsa4096/36FJJJJJ 2018-10-31 [E] [expires: 2021-10-31]

Xin vui lòng bỏ qua JJJJJ vì họ là một nỗ lực với số lượng nhỏ cho mục đích bảo mật.

$ gpg2 --list-secret-keys
/home/mdhas/.gnupg/pubring.gpg
------------------------------
sec   rsa2048/FBJJJJ1C 2017-10-11 [SC]
uid         [ultimate] Mark Dhas <mark.dhas@enginess.io>
ssb   rsa2048/3FDJJJJJ 2017-10-11 [E]

Và đây là một phần trong cấu hình git của tôi

user.name=Mark Dhas
user.email=mark.dhas@company.company
user.signingkey=3C2JJJJJJJJJJJJJ
core.editor=vim
gpg.program=/usr/bin/gpg2

Bất kỳ ý tưởng về cách khắc phục vấn đề này sẽ là tuyệt vời.


Tôi cũng nên lưu ý rằng tôi đã tạo khóa gpg trên macbook của mình và sau đó xuất khóa công khai sang máy chủ ubfox của tôi. Nhập nó ở đó với mộtgpg2 --import <filename>
Đánh dấu

Câu trả lời:


2

Bạn không có phần riêng tư của khóa GPG. Khóa GPG bao gồm khóa chung, phần thông tin mà các máy tính khác có thể sử dụng để xác minh chữ ký đến từ bạn và khóa riêng, phần cần thiết để tạo chữ ký hoặc giải mã tin nhắn gửi cho bạn. Đây là lý do tại sao Git cho bạn một lỗi. Nó không thể lấy khóa riêng để ký cam kết. Tùy chọn duy nhất của bạn là tìm bản sao lưu toàn bộ khóa (bao gồm khóa riêng) hoặc tạo khóa mới.


1
Bạn có thể muốn thêm "Cách xuất khóa bí mật GPG" ....gpg --output private_key.asc --armor --export-secret-keys mark.dhas@company.company
RubberStamp
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.