GPG

Från DannoWiki
Version från den 20 juli 2026 kl. 21.07 av Danno (diskussion | bidrag)
Hoppa till navigeringHoppa till sök

GPG - GNU Privacy Guard

Installera

  • Säkerställ att gpg är installerat:
sudo apt update && sudo apt install gnupg -y
  • Skapa nycklarna
gpg --full-generate-key

GPG kommer nu att ställa några frågor. Här är de optimala valen idag:

  1. Val av nyckeltyp: Välj (9) ECC and ECC (Elliptisk kurvkryptografi). Det är den moderna standarden som ersatt tunga RSA-nycklar. Den är supersäker, extremt snabb och ger kortare nyckelfiler.
  2. Vilken elliptisk kurva: Välj (1) Curve 25519 (kallas ofta Ed25519 för signering och Cv25519 för kryptering). Detta är kryptovärldens guldstandard just nu.
  3. Giltighetstid: Här väljer du hur länge nyckeln ska gälla. För personligt bruk är 0 (nyckeln går aldrig ut) eller 2y (2 år, vilket är standard i professionella miljöer) bra. Välj 0 om du vill hålla det enkelt lokalt.
  4. Namn och E-post: Ange ditt riktiga namn och den e-postadress du vill koppla till nyckeln (t.ex. den du använder i Thunderbird eller Nextcloud).
  5. Passphrase (Lösenord): Ett popup-fönster kommer att be dig välja ett lösenord för din privata nyckel. Välj något starkt! Utan detta lösenord kan ingen (inte ens du) använda nyckeln för att avkryptera eller signera.

När datorn har räknat klart (vilket går på ett ögonblick med ECC) har du skapat ditt nyckelpar!

Kryptera

  • Testa att kryptera och avkryptera en fil, genom att skapa en testfil:
 echo "Detta är en hemlighet för föreningen 2026." > hemligt.txt
  • Kryptera filen
 gpg --encrypt --recipient "din-epost@adress.se" hemligt.txt

(Ersätt "din-epostadress.se med med den e-post du angav när du skapade nyckeln).

Vad hände nu? GPG letade upp din publika nyckel och låste filen med den.
Du har nu en ny fil som heter hemligt.txt.gpg.
Om du försöker läsa den med cat hemligt.txt.gpg ser du bara binärt skräp.

  • Avkryptera filen

För att låsa upp den använder vi vår privata nyckel. GPG fattar detta automatiskt:

 gpg --decrypt hemligt.txt.gpg > upplåst.txt

Systemet kommer nu att be dig om det lösenord (passphrase) du valde i Steg 1.

  • Kryptera för flera mottagare

Du lägger helt enkelt till en -r (recipient) för varje person:

 gpg -e -r person1@email.se -r person2@email.se -r person3@email.se hemlig_fil.pdf

Lägg till dig själv som mottagare, annars kan du inte öppna filen efteråt

Signera (TESTA DETTA)

Signering handlar inte om att dölja innehållet, utan om att bevisa vem som skrev det och att ingen har manipulerat filen.

Det finns tre sätt att göra detta i terminalen:
Alternativ A: Kryptera OCH signera samtidigt (Vanligast för känsliga filer)

 gpg --sign --encrypt --recipient "mottagare@epost.se" hemligt.txt

Detta gör filen oläslig för utomstående, och när mottagaren låser upp den talar GPG om: "Denna fil är signerad av [Ditt Namn] och är intakt."

Alternativ B: "Cleartext"-signering (Perfekt för e-post/meddelanden)
Detta behåller texten läsbar, men lägger till en kryptografisk stämpel i botten.

 gpg --clearsign hemligt.txt

Om du tittar i den nya filen hemligt.txt.asc ser du din text i klartext, följt av ett block med
-----BEGIN PGP SIGNATURE-----. Om någon ändrar så mycket som ett tecken i texten och kör en verifiering, kommer GPG att säga "BAD SIGNATURE".

Alternativ C: Fristående signatur (Det som används för Linux-paket och program)

 gpg --detach-sign hemligt.txt

Detta skapar en helt separat liten fil som heter hemligt.txt.sig.
Du kan skicka själva filen som vanligt, och den som vill kontrollera att den är äkta laddar även ner .sig-filen och kör gpg --verify hemligt.txt.sig hemligt.txt.

Var hittar jag mina nycklar nu?

GPG sparar alla nycklar i en dold systemmapp i din hemkatalog som heter .gnupg/ (alltså ~/.gnupg/).
Där ligger de i en säker, krypterad databas (en så kallad nyckelring/keyring).

Du ska aldrig gå in i den mappen och kopiera filer manuellt för att dela dem, eftersom de privata och publika nycklarna ligger lagrade tillsammans där.
Istället ber du GPG att "exportera" den nyckel du vill ha.

 gpg --list-keys

Exportera den publika nyckeln till egen fil

 gpg --armor --export "din-epost@adress.se" > min_publika_nyckel.asc

Det är denna .asc-fil du lämnar till andra, tillexempel laddar upp på din webbsida
Det är helt riskfritt; den innehåller absolut ingen känslig information,
utan är bara den "digitala brevlåda" som folk behöver för att kunna skicka saker till dig.

Exportera dina nycklar

Du kan nu exportera en fil som innehåller både din publika och privata nyckel.
Kom därför ihåg att deleta den filen när du är klar - och gör det bara om det absolut behövs!

 gpg --export-secret-keys --armor din-epost@adress.se > min_privata_nyckel.asc

importera i Thinderbird

  1. Öppna Thunderbird, gå till Inställningar (Account Settings) för ditt e-postkonto.
  2. Klicka på End-to-End Encryption i vänstermenyn.
  3. Klicka på Add Key...

Eftersom du redan har skapat en nyckel i din Ubuntu-terminal kan du välja "Import an existing OpenPGP Key".
Skulle Thunderbird inte hitta nycklarna, exportera till fil enligt ovan, och välj den.

Hur gör någon för att skicka något hemligt till dig?

Hämta nyckeln: Medlemmen går in på din portal och laddar ner din min_publika_nyckel.asc.
mportera nyckeln: Medlemmen sparar filen på sin dator och importerar den till sitt eget GPG-system (eller sitt e-postprogram som Thunderbird).
I terminalen görs det med:

 gpg --import min_publika_nyckel.asc

Kryptera och skicka: Nu har medlemmens dator lärt känna din publika nyckel.
Medlemmen krypterar filen med din e-postadress som mottagare, och skickar sedan den krypterade .gpg-filen till dig (via e-post, Nextcloud eller hur ni nu vill transportera den).

Du öppnar: När filen landar hos dig är det bara du (med din privata nyckel och ditt starka lösenord) som kan låsa upp den.

Flera E-postadresser till samma nyckel

Starta redigeraren för din nyckel (ersätt med din nuvarande e-post eller ditt nyckel-ID):

 gpg --edit-key "din-nuvarande-epost@adress.se"

Du hamnar nu i GPG-prompten (gpg>). Skriv kommandot för att lägga till ett nytt användar-ID:

 gpg> adduid
  1. GPG kommer nu att ställa samma frågor som igår: Namn, E-postadress (här skriver du din andra adress) och en valfri kommentar.
  2. Du kommer att bli ombedd att skriva in din Passphrase (lösenordet du valde igår) för att godkänna ändringen.
  3. Nu ser du att din nyckel har två UIDs. Den ursprungliga har en liten plupp . bredvid sig som visar att den är "primär".
  4. Spara och avsluta genom att skriva:
 gpg> save

Gör detta grafiskt

I Ubuntu: Öppna programmet "Lösenord och nycklar" (Seahorse)

Grafisk kryptering av filer

För att en vanlig användare ska kunna kryptera och dekryptera filer enkelt,
behöver man installera ett litet program som heter Kleopatra.

Kör detta kommando i terminalen för att installera det (detta behöver göras en gång per dator):

 sudo apt install kleopatra -y

Så här enkelt blir det nu:
Öppna Kleopatra, och öppna filen därifrån.

Endast Terminal

Om du - som jag- jobbar en del i terminal, och dessutom loggar in via SSH eller annan TTY,
så kommer det bli problem då den grafiska login-prompten skall visas. Det finns ju ingen grafik.
Då kommer pinentry till pass.
Installera med
sudo apt install pinentry-curses

Öppna (eller skapa) konfigurationsfilen för GPG:s bakgrundstjänst:
vi ~/.gnupg/gpg-agent.conf
Lägg till följande rad (eller ändra om det redan står något om pinentry-program):
pinentry-program /usr/bin/pinentry-curses

Säkerställ rätt rättigheter (Viktigt för GPG)
GPG är extremt noga med att filer i ~/.gnupg-mappen inte får vara läsbara för andra användare på systemet. Sätt rätt behörighet på filen:
chmod 600 ~/.gnupg/gpg-agent.conf

Starta om GPG-agenten så att den läser in ändringen:
gpgconf --kill gpg-agent