Tôi thích ký cam kết git của mình bằng khóa PGP của mình, vì vậy tôi đã khá hoảng hốt khi đi đến git commit -S
nhưng thay vì nhắc mật khẩu khóa PGP của mình, git chỉ bắt đầu treo. Tôi đã không thay đổi thiết lập GPG của mình trong vài tháng và đã thực hiện nhiều cam kết kể từ đó mà không gặp vấn đề gì. Ngoài ra, khi tôi cố gắng xem các khóa riêng tư của mình gpg -K
, gpg bị treo. Tuy nhiên, khi tôi chạy gpg -k
để xem các khóa công khai của mình, nó sẽ trả về danh sách như bình thường. Hy vọng ai đó sẽ có một số ý tưởng về những gì gây ra vấn đề này và làm thế nào để khắc phục nó.
gpg-agent
trang hướng dẫn cài đặt GPG_TTY như trên không phải là thứ tôi đã hack để làm việc, điều đó là bắt buộc. Trang người đàn ông nói rằng bạn phải luôn đặt nó trong .bashrc của bạn như tôi đã làm và cũng nói It is important that this environment variable always reflects the output of the tty command.
- đó phải là nơi tôi đã nhận được nó. Một điều khác bạn cần cẩn thận là chương trình pinentry được sử dụng bởi gpg-agent. Tôi đã cài đặt (in ~/.gnupg/gpg-agent.conf
) thành/usr/bin/pinentry-curses
gpg-agent
hoặc thiết lập tương tự trong .bashrc (vv) của hệ thống từ xa và được định cấu hình để nhắc trên màn hình X của điều khiển từ xa hoặc tương tự không? Tôi đã từng gặp vấn đề tương tự trong quá khứ (ví dụ: ssh-ing từ một thiết bị đầu cuối trên hộp huyền thoại của tôi đến máy tính để bàn của tôi để chạy một cái gì đó yêu cầu gpg. cũng có vấn đề tương tựssh-agent
), và tôi đã cố gắng "sửa" nóexport GPG_TTY=$(tty)
trong .bashrc, để đảm bảo lời nhắc luôn ở trên tty hiện tại. Tôi không thể đứng nhắc nhở qua mật khẩu GUI.