SSH#
✓ |
⨯ |
⨯ |
⨯ |
⨯ |
✓ |
✓ |
✓ |
This guide explains how to prepare your SSH server and client for use with the Nitrokey. For configuring PuTTY, see this guide:
„Nitrokey“ jau turėtų būti įdiegti PGP raktai, o vietinis GnuPG raktų rinkinys turėtų žinoti raktus.
Pasirengimas klientui#
Įsitikinkite, kad ~/.gnupg/gpg.conf yra ‚use-agent‘
Pridėkite ssh palaikymą į gnupg-agent, pridėdami ‚enable-ssh-ssh-support‘ į ~/.gnupg/gpg-agent.conf
Jei failo dar nėra, galite jį tiesiog sukurti.
Kur nors į savo ~/.bashrc įrašykite šį kodą (žuvies apvalkalo ieškokite ` čia <https://support.nitrokey.com/t/ssh-auth-with-fish-instead-of-bash/2206>`__)
unset SSH_AGENT_PID
if [ "${gnupg_SSH_AUTH_SOCK_by:-0}" -ne $$ ]; then
export SSH_AUTH_SOCK="$(gpgconf --list-dirs agent-ssh-socket)"
fi
Tiesiog paleiskite sistemą iš naujo arba pabandykite
pkill gpg-agent
ir atidarykite naują komandinę eilutę, kad įsitikintumėte, jog viskas nustatyta.Jei kyla problemų, pirmą kartą naudodami pabandykite
gpg2 --card-status
, kad įsitikintumėte, jog gpg agentas bus paleistas.
Pasiruošimas serveriui#
Galite sukurti autorizuotų_raktų failą, paleisdami
gpg2 --export-ssh-key keyID >> ~/authorized_keys
kur
keyID
yra „Nitrokey“ autentifikavimui naudojamo subklavišo ID. „Nitrokey“ raktas jau turi būti žinomas vietiniam GnuPG raktų rinkiniui. Dabar galite pridėti šį failą prie nutolusio serverio autorizuotų raktų (authorized_keys) ir, kai ssh prisijungsite prie serverio, jūsų bus paprašyta PIN kodo, o ne slaptažodžio frazės.
Trikčių šalinimas#
Jei vis dar prašoma įvesti slaptažodį, įsitikinkite, kad
echo $SSH_AUTH_SOCK
grąžina kažką panašaus į ‚/run/user/1000/gnupg/S.gpg-agent.ssh‘ arba ‚/home/username/.gnupg/.S.gpg-agent.ssh‘. Deja, praeityje GnuPG buvo keletas pakeitimų, todėl tikrasis turinys gali skirtis priklausomai nuo sistemos ir GnuPG versijos. Kai kuriose sistemose šiame kintamajame gali būti išsaugoti net keli aplankai. Turite pritaikyti pirmiau pateiktą .bashrc kodą taip, kad kintamasis SSH_AUTH_SOCK būtų teisingas. Jei abejojate, ieškokite ‚SSH_AUTH_SOCK‘ eilutėje
man gpg-agent
rasti savo versijai ir (arba) sistemai skirtą tikrąjį kodą.
Galite patikrinti, ar turite įdiegtą ‚pinentry‘ programą per paketų tvarkytuvę. Gali prireikti nustatyti ją ir gpg-agent.conf. Gali prireikti nukreipti gpg-agent į tinkamą TTY.