Gpg-agent là một chương trình chạy trong nền ( daemon ) và lưu trữ các khóa bí mật GPG trong bộ nhớ. Khi một quy trình GPG cần khóa, nó sẽ liên lạc với chương trình gpg-agent đang chạy thông qua một ổ cắm và yêu cầu khóa. Nếu quy trình đại lý có khóa, nó cung cấp cho gpg. Nếu không, nó sẽ cố tải khóa được mã hóa từ khóa của bạn và nhắc bạn nhập cụm mật khẩu của khóa. Khi tác nhân đã lấy được khóa được giải mã, nó sẽ chuyển nó sang quy trình gpg. Ngoài các khóa GPG, Gpg-agent có thể lưu trữ tương tự các khóa SSH và cung cấp chúng cho các quy trình SSH, giống như ssh-agent
chương trình đi kèm với SSH.
Điểm chính của việc sử dụng một tác nhân chính là để bạn không phải nhập cụm mật khẩu của mình mỗi khi bạn sử dụng khóa của mình. Tác nhân giữ chìa khóa trong bộ nhớ từ lần này sang lần khác. Bản thân GPG không thể làm điều đó bởi vì quá trình chấm dứt khi nó hoàn thành công việc.
Một điều khác mà một tác nhân chính có thể làm là cho phép GPG chạy trên một máy từ xa để lấy các khóa trong tác nhân cục bộ (có thể tải chúng từ một tệp cục bộ và lời nhắc cho cụm mật khẩu của bạn). Tác nhân Gpg chưa thể làm điều này, đây là một tính năng được lên kế hoạch . SSH đã có đại lý chuyển tiếp trong một thời gian rất dài. (Đây là lý do không sử dụng gpg-agent cho các khóa SSH.)
GPG 1.x hoặc 2.0.x biết rằng tác nhân đang chạy vì GPG_AGENT_INFO
biến được đặt. Biến này chứa vị trí của ổ cắm để giao tiếp với tác nhân cũng như ID tiến trình của tác nhân. GPG 2.1 luôn đặt ổ cắm đại lý ~/.gnupg
. GPG 2.x luôn bắt đầu một quy trình đại lý nếu không chạy.
Bạn có thể bắt đầu các đại lý chỉ bằng cách chạy gpg-agent
. Nếu bạn muốn giữ một quy trình đại lý như một phần của phiên của mình, bạn có thể thay thế việc gọi trình quản lý phiên của mình bằng gpg-agent my-session-manager
; một số bản phân phối thiết lập điều này tự động. GPG sẽ tự động khởi động tác nhân và GPG 2.1 sẽ tìm thêm tác nhân đang chạy mà không cần biến môi trường, vì vậy bạn không cần khởi động nó theo cách này trừ khi bạn sử dụng GPG phiên bản cũ hơn hoặc bạn sử dụng tác nhân để lưu trữ các loại khác các khóa như SSH.
Bạn có thể gửi các lệnh tác nhân bằng lệnhgpg-connect-agent
shell. Gửi kill
lệnh để giết quá trình tác nhân (hoặc gửi tín hiệu).
Gpg-đại lý tàu với chính GPG. Một số bản phân phối gói riêng.