Hva er et SSH-nøkkelpair?

Et SSH-nøkkelpair er et sett med to kryptografiske nøkler som brukes til å autentisere en bruker på en ekstern server uten passord. Paret består av en privat nøkkel, som holdes hemmelig på brukerens maskin, og en offentlig nøkkel, som plasseres på den eksterne serveren. Ved tilkobling utfordrer serveren klienten til å bevise at den har den private nøkkelen — uten å overføre den private nøkkelen selv. Denne asymmetriske tilnærmingen er betydelig mer sikker enn passordbasert autentisering fordi det ikke finnes noen delt hemmelighet som kan avskjæres eller løses ved brute-force.

SSH-nøkkelpair genereres ved hjelp av offentlig-nøkkel-kryptografi-algoritmer. De mest brukte er Ed25519, en moderne elliptisk-kurve-algoritme kjent for sin små nøkkelstørrelse og høye sikkerhet, og RSA, en tidstest algoritme som er avhengig av vanskeligheten med å faktorisere store heltall. Ed25519 anbefales for nye nøkler på grunn av sin overlegne ytelse og motstand mot side-channel-angrep.

Verktøybeskrivelse

SSH Key Pair Generator oppretter kryptografisk sikre Ed25519- eller RSA SSH-nøkkelpair direkte i nettleseren din ved hjelp av Web Crypto API. Ingen data sendes til en server — alt nøkkelmateriale genereres lokalt på enheten din. Du kan eventuelt legge til en kommentar (typisk user@hostname) for å identifisere nøkkelen senere. De genererte offentlige og private nøklene kan kopieres til utklippstavlen eller lastes ned som filer, klare til bruk med ssh-copy-id eller hvilken som helst SSH-klient.

Eksempler

Ed25519 offentlig nøkkel

ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOMqqnkVzrm0SdG6UOoqKLsabgH5C9okWi0dh2l9GKJl user@hostname

RSA offentlig nøkkel (4096-bit)

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQC2... user@hostname

Privat nøkkel (OpenSSH-format)

-----BEGIN OPENSSH PRIVATE KEY-----
b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAAB...
-----END OPENSSH PRIVATE KEY-----

Funksjoner

  • Ed25519 og RSA-støtte: Velg mellom en moderne elliptisk-kurve-algoritme eller den klassiske RSA-algoritmen
  • RSA-nøkkelstørrelsesalternativer: Velg 2048, 3072 eller 4096-bit RSA-nøkler for å balansere sikkerhet og ytelse
  • Valgfritt kommentarfelt: Legg til en user@hostname-stilkommentar for å identifisere nøkkelen på tvers av maskiner
  • Generering på klientsiden: Nøkler genereres helt i nettleseren din ved hjelp av Web Crypto API — ingenting overføres eller lagres
  • Nedlasting med ett klikk: Lagre de offentlige og private nøkkelfilene direkte med riktige filnavn (id_ed25519, id_ed25519.pub, id_rsa, id_rsa.pub)

Brukstilfeller

  • Oppsett av serveradgang: Generer et nøkkelpair en gang og distribuer den offentlige nøkkelen til et hvilket som helst antall eksterne Linux/Unix-servere via ~/.ssh/authorized_keys for å aktivere passordløs SSH-innlogging
  • Git-hosting-autentisering: Legg til den offentlige nøkkelen på GitHub, GitLab eller Bitbucket for å autentisere git push- og git pull-operasjoner uten å oppgi legitimasjon hver gang
  • CI/CD-rørledninger: Opprett et dedikert distribusjonsnøkkelpair for automatiserte skript eller byggeagenter som trenger SSH-tilgang til servere eller private repositorier

Hvordan det fungerer

Nøkkelgenerering bruker nettleserens innebygde crypto.subtle API (Web Crypto). For Ed25519 pakkes de råe 32-byte private skalar og 32-byte offentlige nøkkel inn i OpenSSH-trådformatet (openssh-key-v1). For RSA eksporteres nøkkelen i PKCS#8 DER-format og pakkes inn i en standard PEM-konvolutt. Den offentlige nøkkelbloben er kodet i SSH-trådformatet (lengdeprefiks algoritmenavn etterfulgt av nøkkelmateriale) og Base64-kodet, som samsvarer med formatet som forventes av OpenSSH's authorized_keys-fil.

Tips

  • Etter nedlasting setter du de riktige tillatelsene på den private nøkkelfilen: chmod 600 ~/.ssh/id_ed25519. SSH vil nekte å bruke en privat nøkkel som er lesbar av andre brukere.
  • Bruk Ed25519 med mindre du trenger kompatibilitet med eldre systemer som ikke støtter det. Det produserer kortere nøkler og er raskere enn RSA.
  • Kommentarfeltet påvirker ikke nøkkelens kryptografiske styrke — det er rent for menneskelig identifikasjon og kan endres senere med ssh-keygen -c.
  • For maksimal RSA-kompatibilitet med eldre servere bruker du 4096-bit nøkler. For moderne servere foretrekkes Ed25519 uavhengig av RSA-nøkkelstørrelse.