SSH

Compatible Nitrokeys

3A/C/Mini

Passkey

HSM 2

Pro 2

FIDO2

Storage 2

Start

U2F

active

inactive

inactive

active

inactive

active

active

inactive

This guide explains how to prepare your SSH server and client for use with the Nitrokey. For configuring PuTTY, see this guide:

Nitrokey-avaimeen pitäisi olla jo asennettu PGP-avaimet ja paikallisen GnuPG-avaimenperän pitäisi tuntea avaimet.

Asiakkaan valmistelu

  • Varmista, että ~/.gnupg/gpg.conf sisältää ’use-agent’

  • Lisää ssh-tuki gnupg-agenttiin lisäämällä ’enable-ssh-support’ tiedostoon ~/.gnupg/gpg-agent.conf.

  • Jos tiedostoa ei ole vielä olemassa, voit vain luoda sen.

  • Lisää seuraava koodi jonnekin ~/.bashrc-tiedostoosi (jos haluat kalakuoren, katso täältä).

unset SSH_AGENT_PID
if [ "${gnupg_SSH_AUTH_SOCK_by:-0}" -ne $$ ]; then
export SSH_AUTH_SOCK="$(gpgconf --list-dirs agent-ssh-socket)"
fi
  • Käynnistä järjestelmä uudelleen tai kokeile pkill gpg-agent ja avaa uusi komentorivi varmistaaksesi, että kaikki on valmiina.

  • Jos ongelmia ilmenee, kokeile gpg2 --card-status ensimmäisellä käyttökerralla varmistaaksesi, että gpg-agentti käynnistyy.

Palvelimen valmistelu

Voit luoda authorized_keys-tiedoston suorittamalla joko komennon

gpg2 --export-ssh-key keyID >> ~/authorized_keys

jossa

keyID

on aliavaimen tunniste, jota käytetään Nitrokey-avaimen todennukseen. Nitroavaimen on jo oltava paikallisen GnuPG-avaimenperän tiedossa. Voit nyt liittää tämän tiedoston etäpalvelimen authorized_keys-tiedostoon, ja kun siirryt ssh:llä palvelimelle, sinulta kysytään pin-koodia salasanan sijasta.

Vianmääritys

Jos sinulta kysytään edelleen salasanaa, varmista, että

echo $SSH_AUTH_SOCK

palauttaa jotain tyyliin ’/run/user/1000/gnupg/S.gpg-agent.ssh’ tai ’/home/käyttäjänimi/.gnupg/.S.gpg-agent.ssh’. Valitettavasti GnuPG:hen on tehty joitakin muutoksia aiemmin, joten todellinen sisältö voi vaihdella järjestelmästä ja GnuPG-versiosta riippuen. Joissakin järjestelmissä voi olla jopa useita kansioita tähän muuttujaan tallennettuna. Sinun on mukautettava edellä annettua koodia .bashrc:ssä niin, että muuttuja SSH_AUTH_SOCK on oikea. Epäselvissä tapauksissa etsi ’SSH_AUTH_SOCK’ kohdasta

man gpg-agent

löytääksesi todellisen koodin versiollesi/järjestelmällesi.

Voit tarkistaa, onko sinulla ’pinentry’ -ohjelma asennettu paketinhallinnan kautta. Sinun on ehkä asetettava se myös gpg-agent.conf-tiedostossa. Sinun täytyy ehkä suuntaa gpg-agent oikeaan TTY:hen.