Thực tiễn tốt nhất cho Đại lý SSH, tmux & GnuPG


12

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 đỡ!

Câu trả lời:


4

Hóa ra cái này cực kỳ đơn giản. Thay vì sử dụng tập lệnh đó, tôi chỉ cần xóa tùy chọn "--agents" khỏi tập lệnh khởi chạy móc khóa cũ của mình (hướng dẫn tại đây ).

Điều này khiến chương trình Keychain tìm kiếm cả tệp ssh-agent VÀ gpg-agent. Bây giờ hệ thống mã hóa của tôi hoạt động khá liền mạch, ngay cả khi dựa vào cả hai loại tác nhân.

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.