Jeg har en linje i min gpg.conf-fil, der siger use-agent.
Jeg forstår, at dette refererer til gpg-agent, som er en dæmon. Mandsiden siger “gpg-agent er en dæmon til at styre hemmelige (private) nøgler uafhængigt af enhver protokol. Den bruges som backend til gpg og gpgsm såvel som til et par andre hjælpeprogrammer.”

Kan nogen forklare, hvad dette betyder i forbindelse med gpg? Hvad er meningen med gpg-agent?

Jeg har i øjeblikket GPG 1.4.

  1. Hvordan kan jeg fortælle, om agenten kører? Jeg er faktisk ikke engang klar over, om gpg-agent er installeret med den basale GPG 1.4-pakke.
  2. Hvordan kan jeg starte den, hvis den ikke kører?
  3. Hvordan kan jeg stoppe det, hvis det kører?

Svar

Gpg-agent er et program, der kører i baggrunden (en dæmon ) og gemmer GPG hemmelige nøgler i hukommelsen. Når en GPG-proces har brug for nøglen, kontakter den det kørende gpg-agentprogram gennem et -stik og anmoder om nøglen. Hvis agentprocessen har nøglen, giver den den til gpg. Hvis den ikke gør det, forsøger den at indlæse den krypterede nøgle fra din nøglering og beder dig om nøgleens adgangssætning. Når agenten har opnået den dekrypterede nøgle, videresendes den til gpg-processen. Ud over GPG-nøgler kan Gpg-agent ligeledes gemme SSH-nøgler og give dem til SSH-processer, som ssh-agent program, der følger med SSH.

Hovedpunktet ved at bruge en nøgleagent er, så du behøver ikke at indtaste din adgangskode hver eneste gang du bruger din nøgle. Agent bevarer nøglen i hukommelsen fra den ene gang til den anden. GPG selv kan ikke gøre det, fordi processen afsluttes, når den først har gjort sit job.

En anden ting, som en nøgleagent kan gøre, er at lade GPG køre på en ekstern maskine for at hente nøgler i den lokale agent ( som muligvis indlæser dem fra en lokal fil og beder om din adgangssætning). Gpg-agent kan ikke “gøre det endnu, det er en planlagt funktion . SSH har haft agentvideresendelse i meget lang tid. (Dette er en grund til ikke at brug gpg-agent til SSH-nøgler.)

GPG 1.x eller 2.0.x ved, at agenten kører, fordi variablen GPG_AGENT_INFO er indstillet. Denne variabel indeholder stikkets placering til kommunikation med agenten såvel som agentens proces-id. GPG 2.1 placerer altid agentstikket i ~/.gnupg. GPG 2.x starter altid en agent proces, hvis man ikke kører.

Du kan starte agenten ved blot at køre gpg-agent. Hvis du vil beholde en agentproces som en del af din session, kan du erstatte påkaldelsen af din session manager med gpg-agent my-session-manager; nogle distributioner opsætter dette automatisk. GPG starter automatisk agenten, og GPG 2.1 finder desuden en kørende agent uden brug af en miljøvariabel, så du behøver ikke starte den på denne måde, medmindre du bruger en ældre version af GPG, eller du bruger agenten til at gemme andre typer af nøgler som SSH.

Du kan sende agenten kommandoer med gpg-connect-agent shell-kommando. Send kill kommando til dræb agentprocessen (eller send det et signal).

Gpg-agent sendes med GPG selv. Nogle distributioner pakker det separat.

Kommentarer

  • " Når en GPG-proces har brug for nøglen, kontakter den det kørende gpg-agentprogram gennem et stik og anmoder om nøglen. Hvis agentprocessen har nøglen, det giver det til gpg. " Lidt vildledende. Agenten giver ikke en nøgle til klientprocessen. I stedet er den perfekt orms handlinger ved hjælp af nøglen på vegne af klientprocessen. (Klienten forsyner agenten noget til at underskrive, kryptere eller dekryptere, og agenten gør det.) Når du bruger en agent, får din SSH- og GPG-klientsoftware aldrig adgang til den aktuelle nøgle.
  • " Gpg-agent kan ' ikke gøre dette endnu, det er en planlagt funktion. SSH har haft agentvideresendelse i meget lang tid. (Dette er en grund til ikke at bruge gpg-agent til SSH-nøgler.) " Ikke helt sandt. gpg-agent fungerer fint sammen med videresendelse af SSH-agent. Jeg bruger det hver dag. SSH-klienten håndterer videresendelse, gpg-agent er ikke rigtig involveret i det. Det, der ikke understøttes, er, at GPG selv taler eksternt med en agent.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *