Gpg-agent, arka planda çalışan (bir arka plan programı ) ve GPG gizli anahtarlarını bellekte saklayan bir programdır . Bir GPG işlemi anahtara ihtiyaç duyduğunda, çalışan gpg-agent programına bir soket ile temas eder ve anahtarı ister. Aracı işlemin anahtarı varsa, gpg'ye sağlar. Olmazsa, şifreli anahtarı anahtarlığınızdan yüklemeye çalışır ve sizden anahtarın parolasını sorar. Aracı şifreyi çözülmüş anahtarı edindikten sonra, onu gpg işlemine geçirir. GPG anahtarlarına ek olarak, Gpg aracısı SSH anahtarlarını benzer şekilde saklayabilir ve SSH ssh-agent
ile birlikte gelen program gibi SSH işlemlerini sağlayabilir .
Bir anahtar ajan kullanmanın asıl amacı, anahtarınızı her kullanışınızda parolanızı yazmak zorunda kalmamanızdır. Aracı, anahtarı bir zamandan diğerine hafızada tutar. GPG'nin kendisi bunu yapamaz, çünkü işlem bittikten sonra işlem sona erer.
Bir anahtar aracının yapabileceği diğer bir şey, uzak bir makinede çalışan GPG'nin yerel aracıda anahtarlar elde etmesine izin vermektir (bu, onları yerel bir dosyadan yükleyebilir ve parolanızı isteyebilir). Gpg-agent bunu henüz yapamaz, planlanmış bir özelliktir . SSH çok uzun süre ajan nakliyesi yaptı. (Bu, SSH anahtarları için gpg-agent kullanmamak için bir nedendir.)
GPG 1.x veya 2.0.x, GPG_AGENT_INFO
değişken ayarlandığından dolayı aracının çalıştığını bilir . Bu değişken, aracıyla iletişim kurmak için soketin konumunu ve ayrıca ajanın işlem kimliğini içerir. GPG 2.1 her zaman ajan soketini yerleştirir ~/.gnupg
. GPG 2.x, biri çalışmıyorsa her zaman bir aracı işlemi başlatır.
Aracıyı sadece çalıştırarak başlatabilirsiniz gpg-agent
. Bir ajan sürecini oturumunuzun bir parçası olarak tutmak istiyorsanız, oturum yöneticinizin çağrısını yerine gpg-agent my-session-manager
; bazı dağıtımlar bunu otomatik olarak ayarladı. GPG aracıyı otomatik olarak başlatacak ve GPG 2.1 ayrıca bir ortam değişkenine ihtiyaç duymadan çalışan bir aracı bulacaktır, bu nedenle GPG'nin daha eski bir sürümünü kullanmadığınız veya aracı başka türler depolamak için kullanmadığınız sürece bu şekilde başlatmanız gerekmez. SSH gibi
Sen ajan gönderebilir komutları ile gpg-connect-agent
kabuk komutu. Aracı işlemini öldürmek için kill
komutu gönder (veya bir sinyal gönder).
Gpg-agent GPG ile birlikte gelir. Bazı dağıtımlar ayrı olarak paketler.