Làm thế nào để xóa khóa bí mật gpg bằng vũ lực, không có dấu vân tay?


11

Tai nạn đã tạo ra một số lượng lớn các khóa bí mật (không có khóa chung) trong vòng khóa GPG và tôi đã viết một tập lệnh để xóa các khóa đó, nhưng GPG không cho phép tôi làm điều đó:

$ gpg --batch --yes --delete-secret-keys KEYS
gpg: can't do this in batch mod
gpg: (unless you specify the key by fingerprint)

Tôi biết những gì tôi đang làm và tôi biết có thể có các khóa-id trùng lặp, nhưng dường như không có cách nào để buộc phải xóa chúng, mặc dù những điều sau đây cũng không hoạt động:

$ yes | gpg --delete-secret-keys KEYS

Bất kỳ ý tưởng?

Câu trả lời:


6

Sử dụng gpg --list-secret-keys --with-colons --fingerprintđể tạo danh sách dấu vân tay ở định dạng dễ phân tích. Lấy các dòng của biểu mẫu tương ứng với các phím bạn muốn xóa và chuyển dấu vân tay (dấu ) cho .fpr:::::::::xxxx:xxxxgpg --batch --delete-secret-keys

Lệnh sau tạo tất cả dấu vân tay bí mật. Hãy chắc chắn chỉ chọn những người bạn muốn xóa!

gpg --list-secret-keys --with-colons --fingerprint | sed -n 's/^fpr:::::::::\([[:alnum:]]\+\):/\1/p'

Tuyệt quá! Tôi nghĩ rằng dấu vân tay chỉ có sẵn trong các khóa công khai.
Xiè Jìléi

Giáo sư! Tôi sai, không thể tìm nạp dấu vân tay, lệnh yeilds: gpg: key XXXXXXXX: khóa bí mật không có khóa chung - bỏ qua gpg: khóa đọc lỗi: khóa bí mật không có trong thực tế, tôi chỉ thắc mắc tại sao ` vâng ... 'Không hoạt động và tôi nghĩ cách duy nhất là vá lỗi trên gpg. Cảm ơn
Xiè Jìléi

3

Tôi biết chủ đề này đã cũ và câu trả lời giống như Gilles, nhưng tôi nghĩ nó trả lời câu hỏi hoàn toàn (vì tôi gặp vấn đề tương tự như OP):

for i in `gpg --with-colons --fingerprint | grep "^fpr" | cut -d: -f10`; do gpg --batch --delete-secret-keys "$i" ; done

2

Tôi đã kết hợp các câu trả lời của Gilles và Dolanor vào một lớp lót này rất hữu ích trong trường hợp bạn muốn xóa một khóa cụ thể:

gpg --fingerprint --with-colons ${GPG_KEY} |\
    grep "^fpr" |\
    sed -n 's/^fpr:::::::::\([[:alnum:]]\+\):/\1/p' |\
    xargs gpg --batch --delete-secret-keys

Không trả lời câu hỏi ban đầu, nhưng có thể hữu ích cho người khác.


1

Xuất các khóa bạn muốn giữ, xóa tệp và sau đó tạo lại vòng của bạn.


Tôi thà vá và biên dịch lại gpg.
Xiè Jìléi
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.