Sử dụng GnuPG và tác nhân gpg daemon của nó


9

Tôi đang sử dụng gpg-agentđể ghi nhớ và cung cấp GnuPGmật khẩu của mình khi xây dựng Debian/Ubuntucác gói. Nhưng tôi vẫn bối rối làm thế nào gpg-agenthoạt động. Tôi gọi gpg-agentlà:

eval $(gpg-agent --daemon)

Nó hoạt động đôi khi. Nhưng điều làm phiền tôi là đôi khi nó không hoạt động. Tức là, đôi khi quá trình xây dựng yêu cầu GnuPGmật khẩu của tôi một lần, đôi khi không và đôi khi nhiều lần. Tất cả điều này xảy ra trong một phiên bash duy nhất, sau khi tôi đã gọi gpg-agentnhư trước. Không được hỏi mật khẩu lần này không đảm bảo rằng tôi sẽ không được hỏi mật khẩu vào lần tới. Tôi vẫn chưa tìm ra lý do tại sao gpgquyết định nhắc tôi nhập mật khẩu và tại sao nó không.

Nó có xảy ra với bạn không?

Cảm ơn


1
Bạn sẽ cần dành một chút thời gian để cố gắng xác định trong trường hợp nào nó thất bại và hoàn cảnh nào nó thành công. Nếu bạn có thể mô tả những gì tương quan đáng tin cậy với sự thất bại thì người khác có nhiều khả năng nghĩ đến một giải pháp.
bignose

Trong Emacs, đối với GNUS và .authinfo.gpg, tôi có một gợi ý để sử dụng gpg2, gpg-agentđược liên kết với. Vì vậy, (setq epg-gpg-program "/usr/bin/gpg2")làm việc cho tôi. Có lẽ bạn sẽ phải khám phá xem ứng dụng nào của bạn đang gặp sự cố, chúng có thể được ưa thích hơn gpg(1).
Brady Trainor

Câu trả lời:


7

Tìm thấy cách sử dụng đúng cách gpg-agenttừ http://tr.opensuse.org/SDB:Using_gpg-agent

Theo đó, gpg-agentdaemon của tôi hiện đang lưu GnuPGmật khẩu đúng cách. Không có gì sai với thiết lập của tôi, chỉ là tôi không biết cách kiểm tra xem GnuPGmật khẩu của mình có được lưu đúng cách hay không.

Bây giờ, tôi làm:

echo "test" | gpg -ase -r 0xMYKEYID | gpg

Từ trang web: "Thay thế 0xMYKEYID bằng ID khóa GnuPG của bạn. Trong khi chạy lệnh này, nhân viên nên mở hộp thoại mật khẩu đồ họa hai lần: trước tiên để ký hoặc mã hóa (gpg -ase) (gpg -ase) sau đó để giải mã hoặc kiểm tra chữ ký ( | gpg). Từ giờ trở đi, mỗi khi GnuPG được sử dụng (từ dòng lệnh hoặc được nhúng trong chương trình đồ họa như KMail), mật khẩu của gpg-agent sẽ được chuyển tự động (cho đến khi hết thời gian hoặc giao diện đồ họa hết hạn đã đóng cửa). "

Và để tránh hết hạn bộ nhớ đệm, giờ đây tôi đã đặt khoảng thời gian chờ cực kỳ dài:

$ cat ~/.gnupg/gpg-agent.conf
max-cache-ttl 60480000
default-cache-ttl 60480000

Theo linux.die.net/man/1/gpg-agent , bạn cũng có thể thêm --write-env-file "${HOME}/.gpg-agent-info"khi bắt đầu gpg-agent và sau đó thêm if [ -f "${HOME}/.gpg-agent-info" ]; then . "${HOME}/.gpg-agent-info"; export GPG_AGENT_INFO fi vào .bashrc của bạn để phát hiện xem tác nhân đã chạy chưa. Có vẻ như một giải pháp sạch hơn một chút.
Sean the Bean

@SeantheBean, xuất sắc. Tôi sẽ kiểm tra và lấy lại cho bạn ...
xpt

WARNING: "--write-env-file" is an obsolete option - it has no effectít nhất là từ Apr 4 '16. Tham chiếu: serverfault.com/a/481174
xpt
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.