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) - tai tinklo protokolas, naudojamas saugiai prieigai prie nuotolinių sistemų, pavyzdžiui, serverių ar kodo saugyklų (pvz., „GitLab“, „GitHub“), ir jų valdymui. Autentifikavimui naudojamos kriptografinių raktų poros, todėl galima prisijungti be slaptažodžio ir užtikrinti didelį saugumą. Naudojant „Nitrokey“ privatus SSH raktas generuojamas ir saugomas tiesiai įrenginyje, todėl jis niekada nepalieka aparatinės įrangos. Kiekvienam prisijungimui reikia paliesti „Nitrokey“, todėl pridedamas paprastas fizinis patvirtinimas, apsaugantis nuo neteisėtos prieigos.

Generating SSH Key

  1. Insert the Nitrokey into your computer.

  2. Atidarykite terminalą ir sukurkite SSH raktą. Pakeiskite "your_comment" jį identifikuojančia etikete (pvz., „Nitrokey GitLab“). Pagal numatytuosius nustatymus raktas yra nereziduojantis raktas, t. y. vietinio rakto rankena saugoma ~/.ssh/, o privatus raktas saugiai lieka „Nitrokey“. Jei norite, kad raktas būtų perkeliamas iš vienos sistemos į kitą, naudokite -O resident parinktį.

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

    arba sukurti rezidento raktą

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

    Pastaba

    Vėliau reziduojančius raktus galima išvardyti ir importuoti į kitą sistemą naudojant:

    ssh-keygen -K
    
  3. Generuojant raktą taip pat gali būti paprašyta nustatyti slaptažodį. Šia slaptažodžių fraze užšifruojamas vietinio rakto tvarkyklė, saugoma ~/.ssh/ (ne „Nitrokey“ privatus raktas, kuris visada saugiai lieka prietaise). Slaptažodžių frazė skiriasi nuo FIDO2 įrenginio PIN kodo. PIN kodas apsaugo patį fizinį raktą, o slaptažodžių frazė apsaugo jūsų vietinį SSH viešojo rakto failą. Rekomenduojame naudoti slaptažodžių frazę tik nerezidentiniams raktams apsaugoti.

  4. Kai prašoma nurodyti failo kelią, priimkite numatytąją parinktį (~/.ssh/id_ed25519_sk) arba pasirinkite pasirinktinį pavadinimą, pavyzdžiui, id_ed25519_sk_gitlab.

  5. Jei „Nitrokey“ mygtukas mirksi, patvirtinkite operaciją jį paliesdami.

Galiausiai bus sukurti šie failai. Failų pavadinimai gali skirtis, jei generuodami raktą nurodėte pasirinktinį pavadinimą.

~/.ssh/id_ed25519_sk → privataus rakto (saugiai saugomo „Nitrokey“) tvarkyklė

~/.ssh/id_ed25519_sk.pub → viešojo rakto failas

vaizdas0

Adding Your Public Key

Sukūrus SSH raktų porą, viešąjį raktą reikia pridėti prie paslaugos ar serverio, prie kurio norite prisijungti.

  1. Display your public key:

    cat ~/.ssh/id_ed25519_sk.pub
    

    Išvesties pavyzdys (nenaudokite šio klavišo):

    sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG7wZW4zc2guY29tAAAAILeZl6r07HV4i1rK07OfLqD3J4IzX2q0lB6Ok0pdxoG5AAAABHNzaDo= your_comment
    
  2. Nukopijuokite išvestį ir pridėkite ją prie savo paskyros SSH rakto nustatymų. Išsamius veiksmus rasite GitLab <https://docs.gitlab.com/user/ssh/#add-an-ssh-key-to-your-gitlab-account> arba GitHub <https://docs.github.com/en/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account>. Norėdami įjungti SSH nuotolinę prieigą prie serverio, pridėkite savo viešąjį raktą į savo SSH serverio naudotojo paskyros failą ~/.ssh/authorized_keys.