Tôi đang cố gắng hợp nhất phần mềm mã hóa của mình thành GnuPG và tôi đang gặp phải một vấn đề khó hiểu.
Đơn vị chính của tôi là một máy chủ không đầu, và tôi độc quyền làm việc trong tmux. Không có phiên X, và do đó tôi đã cấu hình tác nhân gpg để sử dụng lời nguyền pinentry. Tôi đã cấu hình gpg-agent để được gọi khi đăng nhập với mô phỏng ssh-agent với tập lệnh này:
if pgrep -u "${USER}" gpg-agent >/dev/null 2>&1; then
eval `cat $gnupginf`
eval `cut -d= -f1 $gnupginf | xargs echo export`
else
eval `gpg-agent -s --enable-ssh-support --daemon`
fi
Tôi đã thêm khóa ssh của mình vào gpg-agent, tuy nhiên khi tôi thử một phiên ssh khác thì lệnh bị treo.
Tôi đã phát hiện ra rằng nếu tôi giết gpg-agent và tạo một vỏ đăng nhập mới, thì tác nhân đó sẽ hoạt động như bình thường (gọi pinentry-curses sau đó hoạt động như ssh-agent).
Tuy nhiên, nếu tôi tạo một vỏ đăng nhập khác (bằng cách nói, bật ra một khung tmux khác) và cố gắng ssh, lệnh bị treo và cửa sổ pinentry-curses được in trên nội dung của vỏ đăng nhập ban đầu đã khởi chạy tác nhân.
Hơn nữa, nếu tôi đã đóng lớp vỏ ban đầu đã khởi chạy tác nhân, thì pinentry-curses được gọi bằng mọi cách và gây ra một vòng lặp vô hạn làm tê liệt cpu. (Lỗi đã biết, xem http://bugs.debian.org/cgi-bin/ormsreport.cgi?orms=559936 .)
Về bản chất, tôi muốn biết phải thay đổi gì về thiết lập của mình để làm cho tác nhân GnuPG hoạt động trơn tru như tác nhân ssh. Cảm ơn vì bất kì sự giúp đỡ!