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) je omrežni protokol, ki se uporablja za varen dostop do oddaljenih sistemov, kot so strežniki ali skladišča kode (npr. GitLab, GitHub), in njihovo upravljanje. Za preverjanje pristnosti uporablja kriptografske pare ključev, kar omogoča prijave brez gesla z močno varnostjo. Z napravo Nitrokey se zasebni ključ SSH ustvari in shrani neposredno v napravi, tako da nikoli ne zapusti strojne opreme. Za vsako prijavo se morate dotakniti Nitrokey, kar pomeni preprosto fizično potrditev, ki ščiti pred nepooblaščenim dostopom.

Generating SSH Key

  1. Insert the Nitrokey into your computer.

  2. Odprite terminal in ustvarite ključ SSH. Ključ "your_comment" zamenjajte z oznako, ki ga identificira (npr. „Nitrokey GitLab“). Privzeto je ključ nerezidenčni ključ, kar pomeni, da je lokalni ključni ročaj shranjen v ~/.ssh/, medtem ko zasebni ključ ostane varno shranjen v Nitrokey. Če želite, da je ključ prenosljiv med sistemi, uporabite možnost -O resident.

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

    ali ustvarite ključ rezidenta

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

    Opomba

    Rezidenčne ključe lahko pozneje naštejete in uvozite v drug sistem z:

    ssh-keygen -K
    
  3. Med generiranjem ključa boste morda morali nastaviti tudi geslo **** . Ta geslofraza šifrira lokalni ključ, shranjen v ~/.ssh/ (ne pa zasebnega ključa v napravi Nitrokey, ki vedno varno ostane v napravi). Passphrase se razlikuje od kode PIN naprave FIDO2. PIN varuje sam fizični ključ, medtem ko geslo varuje datoteko z lokalnim javnim ključem SSH. Priporočamo, da geslo uporabite samo za zaščito nerezidenčnih ključev.

  4. Ko ste zaprošeni za pot do datoteke, sprejmite privzeto možnost (~/.ssh/id_ed25519_sk) ali izberite ime po meri, kot je id_ed25519_sk_gitlab.

  5. Če tipka Nitrokey utripa, potrdite delovanje tako, da se je dotaknete.

Sčasoma bodo ustvarjene naslednje datoteke. Imena datotek se lahko razlikujejo, če ste pri ustvarjanju ključa določili ime po meri.

~/.ssh/id_ed25519_sk → ročaj za zasebni ključ (varno shranjen na Nitrokey)

~/.ssh/id_ed25519_sk.pub → datoteka z javnim ključem

Img0

Adding Your Public Key

Ko je par ključev SSH ustvarjen, je treba javni ključ dodati v storitev ali strežnik, do katerega želite dostopati.

  1. Display your public key:

    cat ~/.ssh/id_ed25519_sk.pub
    

    Izhodni primer (ne uporabljajte te tipke):

    sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG7wZW4zc2guY29tAAAAILeZl6r07HV4i1rK07OfLqD3J4IzX2q0lB6Ok0pdxoG5AAAABHNzaDo= your_comment
    
  2. Kopirajte izpis in ga dodajte v nastavitve ključa SSH svojega računa. Za podrobne korake glejte GitLab <https://docs.gitlab.com/user/ssh/#add-an-ssh-key-to-your-gitlab-account> ali GitHub <https://docs.github.com/en/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account>. Če želite omogočiti oddaljeni dostop do strežnika SSH, dodajte svoj javni ključ v datoteko ~/.ssh/authorized_keys svojega uporabniškega računa v strežniku SSH.