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):
ssh-keygen -t ed25519 -C "din@epost.no"
Dette lager to filer i ~/.ssh/:
id_ed25519→ Privat nøkkelid_ed25519.pub→ Offentlig nøkkel
På Windows (PowerShell eller Git 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:
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:
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_keysfor 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:
ssh root@server-ip
Hvis du har nøkkelen i en annen fil:
ssh -i ~/.ssh/min_nokkel root@server-ip
For å slippe å taste passphrase hver gang, bruk ssh-agent:
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_keyspå 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 🚀