Công cụ mã hóa của gói gnuPG gpg nhắc mật khẩu bằng hộp thoại GUI khi được người dùng thông thường gọi, tuy nhiên khi được gọi bởi root nó nhắc trên CLI. Làm thế nào để làm cho nó sử dụng CLI ngay cả khi được gọi bởi người dùng thông thường. phiên bản: GnuPG 1.4.12Cách tạo lời nhắc gpg cho cụm mật khẩu trên CLI
Trả lời
Loại lời nhắc mật khẩu này không được thực hiện bởi chính gpg, nhưng do tác nhân gpg.
Bạn có thể định cấu hình tác nhân gpg của bạn mà chương trình pinentry sẽ được sử dụng. Có các tùy chọn khi khởi động tác nhân và trong tệp cấu hình gpg-agent - vui lòng xem qua trang hướng dẫn.
Vì vậy, tôi thấy hai lựa chọn:
- Configure gpg-agent của bạn để sử dụng phương pháp mong muốn
- Vô hiệu hóa gpg-agent; bạn có thể làm điều đó cho một lời gọi gpg duy nhất bằng cách hủy biến môi trường
GPG_AGENT_INFO
nhưGPG_AGENT_INFO="" gpg ...
. gpg được sử dụng để có tùy chọn--no-use-agent
, nhưng điều này đã bị đánh dấu không được dùng nữa và không có chức năng trong phiên bản gpg gần đây.
Bạn có thể làm điều này:
gpg --batch --decrypt --passphrase-fd 0 gpgfile < passphrase-file
Tôi phải thêm '--no-use-agent' vào Ubuntu Linux 14.04 - nếu không bạn sẽ gặp lỗi gpg: không thể truy vấn cụm mật khẩu trong chế độ hàng loạt \ ngpg: lỗi tạo cụm mật khẩu: cụm mật khẩu không hợp lệ \ ngpg: mã hóa đối xứng của' [ stdin] 'không thành công: cụm mật khẩu không hợp lệ –
Bạn có thể thiết lập các biến môi trường sau đây để vô hiệu hóa các đồ họa nhanh chóng
export PINENTRY_USER_DATA="USE_CURSES=1"
Không hoạt động trên Ubuntu 16.10 – Starx
Không hoạt động trên Debian Stretch (gnupg 2.1.18). – schlimmchen
Tôi tạo ra ~/.gnupg/gpg-agent.conf và viết 'pinentry-program/usr/bin/pinentry-curses' trong đó. Không làm việc cho tôi! Sử dụng 'gpg --no-use-agent' đã thực hiện thủ thuật. –
@MayankPundir tùy chọn này đã lỗi thời trong một thời gian; Tôi đã cập nhật câu trả lời của mình cho phù hợp. – Skyr
GPG_AGENT_INFO = "" gpg ... đã hoạt động đối với tôi, tác nhân không sử dụng không. Ubuntu 14.04 –