SSH Authentication with FIDO2

Compatible Nitrokeys

3A/C/Mini

Passkey

HSM 2

Pro 2

FIDO2

Storage 2

Start

U2F

active

active

inactive

inactive

active

inactive

inactive

inactive

SSH (Secure Shell) er en netværksprotokol, der bruges til at få sikker adgang til og administrere fjernsystemer som servere eller kodelagre (f.eks. GitLab, GitHub). Den bruger kryptografiske nøglepar til autentificering, hvilket giver mulighed for passwordløse logins med stærk sikkerhed. Med en Nitrokey genereres og gemmes den private SSH-nøgle direkte på enheden, så den forlader aldrig hardwaren. Hvert login kræver, at du rører ved Nitrokey, hvilket giver en enkel fysisk bekræftelse, der beskytter mod uautoriseret adgang.

Generating SSH Key

  1. Insert the Nitrokey into your computer.

  2. Åbn en terminal, og opret din SSH-nøgle. Erstat "your_comment" med en etiket for at identificere den (f.eks. »Nitrokey GitLab«). Som standard er nøglen en ikke-resident nøgle, hvilket betyder, at et lokalt nøglehåndtag gemmes i ~/.ssh/, mens den private nøgle forbliver sikkert på Nitrokey. Brug -O resident, hvis du vil have, at nøglen skal være bærbar på tværs af systemer.

    ssh-keygen -t ed25519-sk -C "your_comment"
    

    eller for at oprette en resident nøgle

    ssh-keygen -t ed25519-sk -O resident -C "your_comment"
    

    Bemærk

    Residente nøgler kan senere listes og importeres på et andet system med:

    ssh-keygen -K
    
  3. Under nøglegenerering kan du også blive bedt om at angive en -passphrase. Denne passphrase krypterer det lokale nøglehåndtag, der er gemt i ~/.ssh/ (ikke den private nøgle på Nitrokey, som altid forbliver sikkert inde i enheden). Passphrasen er forskellig fra FIDO2-enhedens PIN-kode. PIN-koden beskytter selve den fysiske nøgle, mens passphrasen beskytter din lokale offentlige SSH-nøglefil. Vi anbefaler kun at bruge en passphrase til at beskytte ikke-hjemmehørende nøgler.

  4. Når du bliver bedt om at angive en filsti, kan du acceptere standardindstillingen (~/.ssh/id_ed25519_sk) eller vælge et brugerdefineret navn som id_ed25519_sk_gitlab.

  5. Hvis Nitrokey blinker, skal du bekræfte handlingen ved at røre ved den.

Til sidst vil følgende filer blive oprettet. Filnavnene kan variere, hvis du har angivet et brugerdefineret navn, da du genererede nøglen.

~/.ssh/id_ed25519_sk → håndtag til den private nøgle (gemt sikkert på Nitrokey)

~/.ssh/id_ed25519_sk.pub → offentlig nøglefil

img0

Adding Your Public Key

Når dit SSH-nøglepar er genereret, skal den offentlige nøgle føjes til den tjeneste eller server, du vil have adgang til.

  1. Display your public key:

    cat ~/.ssh/id_ed25519_sk.pub
    

    Eksempel på output (brug ikke denne tast):

    sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG7wZW4zc2guY29tAAAAILeZl6r07HV4i1rK07OfLqD3J4IzX2q0lB6Ok0pdxoG5AAAABHNzaDo= your_comment
    
  2. Kopier outputtet, og tilføj det til din kontos SSH-nøgleindstillinger. Se GitLab <https://docs.gitlab.com/user/ssh/#add-an-ssh-key-to-your-gitlab-account> eller GitHub <https://docs.github.com/en/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account> for detaljerede trin. For at aktivere SSH-fjernserveradgang skal du tilføje din offentlige nøgle til filen ~/.ssh/authorized_keys for din brugerkonto på SSH-serveren.