SSH Keys – En komplett guide (2025)

SSH Keys – En komplett guide (2025)

Denne guiden forklarer hva en SSH-nøkkel er, hvorfor du bør bruke det i stedet for passord, hvordan du setter det opp, hvor du skal lagre nøklene, og hvilke programvareløsninger som kan hjelpe deg å administrere dem.

Hva er en SSH Key?

En SSH Key er en kryptert nøkkel som brukes til å logge sikkert inn på servere.
I stedet for å skrive inn et passord hver gang du kobler deg til, kan du bruke et nøkkelpar:

  • Privat nøkkel: Ligger trygt på din maskin. Skal aldri deles.
  • Offentlig nøkkel: Legges på serveren i filen ~/.ssh/authorized_keys.

Når du kjører ssh root@server-ip, bruker klienten din den private nøkkelen for å bevise at du er deg.
Dette er mye tryggere enn passord, siden nøkler er praktisk talt umulige å brute-force.

Hvorfor bruke SSH Keys?

  • Sikrere enn passord: Lange, komplekse nøkler som ikke kan gjettes.
  • Raskere innlogging: Du slipper å skrive inn passord hver gang.
  • Beskyttelse mot brute-force-angrep: Passord kan gjette-angripes, men SSH-nøkler kan ikke.
  • Kan kombineres med passphrase: Du kan beskytte nøkkelen med et ekstra passord.
  • Automatisering: Perfekt for scripts og DevOps uten å skrive inn passord manuelt.

Opprette en SSH Key

På din PC (Linux/Mac):

bash
ssh-keygen -t ed25519 -C "din@epost.no"

Dette lager to filer i ~/.ssh/:

  • id_ed25519 → Privat nøkkel
  • id_ed25519.pub → Offentlig nøkkel

På Windows (PowerShell eller Git Bash):

bash
ssh-keygen -t ed25519 -C "din@epost.no"

Nøklene lagres i:

C:\Users\<brukernavn>\.ssh\

Legge til nøkkel på serveren

For å kopiere nøkkelen til serveren:

bash
ssh-copy-id -i ~/.ssh/id_ed25519.pub root@server-ip

Hvis ssh-copy-id ikke er tilgjengelig, kopier manuelt innholdet av id_ed25519.pub til:

~/.ssh/authorized_keys

Husk riktige rettigheter på serveren:

bash
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

Hvor lagres nøklene?

  • Linux/Mac: /home/<brukernavn>/.ssh/
  • Windows: C:\Users\<brukernavn>\.ssh\
  • Server: /root/.ssh/authorized_keys (eller /home/user/.ssh/authorized_keys for vanlige brukere)

Providers og verktøy for å administrere SSH Keys

1Password

  • Fordeler (✔️):
    • Støtter lagring av SSH-nøkler direkte i hvelvet.
    • Kan brukes med 1Password SSH agent → lar deg autentisere direkte fra 1Password uten å lagre nøkkelen lokalt.
    • Synkronisering mellom alle enheter.
  • Ulemper (❌):
    • Betalt løsning.
    • Hvis noen får tilgang til 1Password, får de både passord og nøkler.

Bitwarden

  • Fordeler (✔️):
    • Open-source og billig.
    • Kan lagre SSH-nøkler som sikre notater.
    • Selvhosting mulig.
  • Ulemper (❌):
    • Ikke like sømløs integrasjon med SSH-agent som 1Password.

LastPass

  • Fordeler (✔️):
    • Kan lagre SSH-nøkler som sikre notater.
  • Ulemper (❌):
    • Sikkerhetshistorikk med lekkasjer → tilliten svekket.
    • Ikke like moderne som konkurrentene.

KeePassXC

  • Fordeler (✔️):
    • Helt gratis og open-source.
    • Nøkler kan lagres kryptert i lokal database.
  • Ulemper (❌):
    • Krever manuell synkronisering mellom enheter.
    • Ingen innebygd SSH-agent, men kan integreres med KeeAgent.

GitHub / GitLab integrasjoner

  • Fordeler (✔️):
    • Perfekt for utviklere.
    • Kan lagre SSH-nøkler i kontoene for enkel git-bruk.
  • Ulemper (❌):
    • Kun nyttig for Git, ikke som universell nøkkellagring.

YubiKey (hardware)

  • Fordeler (✔️):
    • Lagrer nøkkelen fysisk på enheten.
    • Svært sikker, beskyttet mot tyveri/hacking.
  • Ulemper (❌):
    • Krever fysisk enhet alltid tilgjengelig.
    • Kostbar løsning.

Hvordan bruke nøkkelen

Når nøkkelen er lagt til på serveren, kan du koble til:

bash
ssh root@server-ip

Hvis du har nøkkelen i en annen fil:

bash
ssh -i ~/.ssh/min_nokkel root@server-ip

For å slippe å taste passphrase hver gang, bruk ssh-agent:

bash
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519

Oppsummering

  • SSH-nøkler er sikrere og raskere enn passord.
  • Lagres i ~/.ssh/ på PC og ~/.ssh/authorized_keys på server.
  • Bruk 1Password eller lignende for sikker lagring og synkronisering.
  • Kan kombineres med passphrase og/eller YubiKey for ekstra beskyttelse.
  • Etter oppsett kobler du til med:
    bash
    ssh root@server-ip
    

Med dette har du en komplett, trygg og fleksibel løsning for SSH-nøkler 🚀