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) este un protocol de rețea utilizat pentru a accesa și gestiona în siguranță sisteme la distanță, cum ar fi servere sau depozite de cod (de exemplu, GitLab, GitHub). Acesta utilizează perechi de chei criptografice pentru autentificare, permițând autentificări fără parolă cu o securitate puternică. Cu un Nitrokey, cheia SSH privată este generată și stocată direct pe dispozitiv, astfel încât aceasta nu părăsește niciodată hardware-ul. La fiecare autentificare trebuie să atingeți Nitrokey, adăugând o confirmare fizică simplă care protejează împotriva accesului neautorizat.

Generating SSH Key

  1. Insert the Nitrokey into your computer.

  2. Deschideți un terminal și creați-vă cheia SSH. Înlocuiți "your_comment" cu o etichetă pentru a o identifica (de exemplu, „Nitrokey GitLab”). În mod implicit, cheia este o cheie nerezidentă, ceea ce înseamnă că o cheie locală este stocată în ~/.ssh/ în timp ce cheia privată rămâne în siguranță pe Nitrokey. Utilizați opțiunea -O resident dacă doriți ca cheia să fie portabilă între sisteme.

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

    sau pentru a crea o cheie rezidentă

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

    Notă

    Cheile rezidente pot fi ulterior listate și importate pe un alt sistem cu:

    ssh-keygen -K
    
  3. În timpul generării cheii, vi se poate cere, de asemenea, să setați o frază de acces **** . Această frază de acces criptează mânerul cheii locale stocate în ~/.ssh/ (nu cheia privată de pe Nitrokey, care rămâne întotdeauna în siguranță în interiorul dispozitivului). Fraza de acces este diferită de PIN-ul dispozitivului FIDO2. PIN-ul protejează cheia fizică în sine, în timp ce fraza de acces protejează fișierul dvs. local de chei publice SSH. Vă recomandăm să utilizați o frază de acces numai pentru a proteja cheile nerezidente.

  4. Atunci când vi se solicită o cale de acces pentru fișier, acceptați opțiunea implicită (~/.ssh/id_ed25519_sk) sau alegeți un nume personalizat, precum id_ed25519_sk_gitlab.

  5. Dacă Nitrokey clipește, confirmați operațiunea atingând-o.

În cele din urmă, vor fi create următoarele fișiere. Numele fișierelor pot diferi dacă ați specificat un nume personalizat la generarea cheii.

~/.ssh/id_ed25519_sk → mâner pentru cheia privată (stocată în siguranță pe Nitrokey)

~/.ssh/id_ed25519_sk.pub → fișier cheie publică

img0

Adding Your Public Key

Odată ce perechea de chei SSH este generată, cheia publică trebuie adăugată la serviciul sau serverul pe care doriți să îl accesați.

  1. Display your public key:

    cat ~/.ssh/id_ed25519_sk.pub
    

    Exemplu de ieșire (nu utilizați această tastă):

    sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG7wZW4zc2guY29tAAAAILeZl6r07HV4i1rK07OfLqD3J4IzX2q0lB6Ok0pdxoG5AAAABHNzaDo= your_comment
    
  2. Copiați rezultatul și adăugați-l la setările cheii SSH a contului dvs. Consultați GitLab <https://docs.gitlab.com/user/ssh/#add-an-ssh-key-to-your-gitlab-account> sau GitHub <https://docs.github.com/en/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account> pentru pași detaliați. Pentru a activa accesul SSH la serverul de la distanță, adăugați cheia dvs. publică la fișierul ~/.ssh/authorized_keys al contului dvs. de utilizator de pe serverul SSH.