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) ir tīkla protokols, ko izmanto, lai droši piekļūtu attālinātām sistēmām, piemēram, serveriem vai kodu krātuvēm (piemēram, GitLab, GitHub), un pārvaldītu tās. Autentifikācijai tas izmanto kriptogrāfisko atslēgu pārus, kas ļauj bez paroles pieteikties ar spēcīgu drošību. Izmantojot Nitrokey, privātā SSH atslēga tiek ģenerēta un uzglabāta tieši ierīcē, tāpēc tā nekad netiek iznesta no ierīces. Katram pieteikšanās gadījumam nepieciešams pieskarties Nitrokey, pievienojot vienkāršu fizisku apstiprinājumu, kas aizsargā pret nesankcionētu piekļuvi.

Generating SSH Key

  1. Insert the Nitrokey into your computer.

  2. Atveriet termināli un izveidojiet SSH atslēgu. Aizstājiet "your_comment" ar marķējumu, lai to identificētu (piemēram, „Nitrokey GitLab“). Pēc noklusējuma atslēga ir nerezidējošā atslēga, kas nozīmē, ka vietējais atslēgas rokturis tiek saglabāts ~/.ssh/, bet privātā atslēga paliek drošā Nitrokey. Izmantojiet -O resident opciju, ja vēlaties, lai atslēga būtu pārnesama starp sistēmām.

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

    vai lai izveidotu rezidenta atslēgu

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

    Piezīme

    Rezidentu atslēgas vēlāk var uzskaitīt un importēt citā sistēmā, izmantojot:

    ssh-keygen -K
    
  3. Atslēgas ģenerēšanas laikā jums var tikt lūgts iestatīt arī piekļuves frāzi. Ar šo paroli šifrē vietējās atslēgas rokturi, kas glabājas ~/.ssh/ (nevis Nitrokey privāto atslēgu, kas vienmēr droši paliek ierīcē). Šī frāze atšķiras no FIDO2 ierīces PIN koda. PIN kods aizsargā pašu fizisko atslēgu, bet parola aizsargā jūsu vietējo SSH publiskās atslēgas failu. Mēs iesakām izmantot piekļuves frāzi tikai nerezidentu atslēgu aizsardzībai.

  4. Kad tiek prasīts norādīt faila ceļu, pieņemiet noklusējuma opciju (~/.ssh/id_ed25519_sk) vai izvēlieties pielāgotu nosaukumu, piemēram, id_ed25519_sk_gitlab.

  5. Ja Nitrokey mirgo, apstipriniet darbību, pieskaroties tam.

Galu galā tiks izveidoti šādi faili. Failu nosaukumi var atšķirties, ja, ģenerējot atslēgu, esat norādījis pielāgotu nosaukumu.

~/.ssh/id_ed25519_sk → privātā atslēgas rokturis (droši glabājas Nitrokey).

~/.ssh/id_ed25519_sk.pub → publiskās atslēgas fails

attēls0

Adding Your Public Key

Kad SSH atslēgu pāris ir izveidots, publiskā atslēga jāpievieno pakalpojumam vai serverim, kuram vēlaties piekļūt.

  1. Display your public key:

    cat ~/.ssh/id_ed25519_sk.pub
    

    Izvades piemērs (neizmantojiet šo atslēgu):

    sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG7wZW4zc2guY29tAAAAILeZl6r07HV4i1rK07OfLqD3J4IzX2q0lB6Ok0pdxoG5AAAABHNzaDo= your_comment
    
  2. Kopējiet rezultātu un pievienojiet to sava konta SSH atslēgas iestatījumiem. Sīkāku informāciju skatiet GitLab <https://docs.gitlab.com/user/ssh/#add-an-ssh-key-to-your-gitlab-account> vai GitHub <https://docs.github.com/en/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account>. Lai iespējotu SSH attālināto piekļuvi serverim, pievienojiet savu publisko atslēgu sava lietotāja konta failā ~/.ssh/authorized_keys savā SSH servera lietotāja kontā.