SSH#
✓ |
⨯ |
⨯ |
⨯ |
⨯ |
✓ |
✓ |
✓ |
This guide explains how to prepare your SSH server and client for use with the Nitrokey. For configuring PuTTY, see this guide:
Nitrokey mora imeti že nameščene ključe PGP, lokalni sveženj ključev GnuPG pa mora poznati ključe.
Priprava na stranko#
Prepričajte se, da ~/.gnupg/gpg.conf vsebuje ‚use-agent‘
Dodajte podporo za ssh v gnupg-agenta z dodajanjem ‚enable-ssh-sshupport‘ v ~/.gnupg/gpg-agent.conf
Če datoteka še ne obstaja, jo lahko preprosto ustvarite.
Nekam v ~/.bashrc dodajte naslednjo kodo (za ribjo lupino poiščite ` tu <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
Preprosto znova zaženite sistem ali poskusite
pkill gpg-agent
in odprite novo ukazno vrstico, da se prepričate, da je vse nastavljenoV primeru težav poskusite
gpg2 --card-status
ob prvi uporabi, da se prepričate, da se bo agent gpg zagnal
Priprava strežnika#
Datoteko authorized_keys lahko ustvarite tako, da zaženete
gpg2 --export-ssh-key keyID >> ~/authorized_keys
kjer je
keyID
je ID podključa, ki se uporablja za preverjanje pristnosti v ključu Nitrokey. Ključ Nitrokey mora biti že znan lokalnemu zbirki ključev GnuPG. To datoteko lahko zdaj dodate v pooblaščene ključe oddaljenega strežnika in ko boste ssh na strežnik, boste namesto gesla zahtevali pin.
Odpravljanje težav#
Če ste še vedno pozvani k vpisu gesla, preverite, ali
echo $SSH_AUTH_SOCK
vrne nekaj takega kot ‚/run/user/1000/gnupg/S.gpg-agent.ssh‘ ali ‚/home/username/.gnupg/.S.gpg-agent.ssh‘. Žal je bilo v preteklosti v GnuPG nekaj sprememb, zato se lahko dejanska vsebina razlikuje od sistema in različice GnuPG. V nekaterih sistemih je lahko v tej spremenljivki shranjenih celo več map. Zgoraj navedeno kodo v .bashrc morate prilagoditi tako, da bo spremenljivka SSH_AUTH_SOCK pravilna. V dvomu poiščite ‚SSH_AUTH_SOCK‘ v
man gpg-agent
za iskanje dejanske kode za vašo različico/sistem.
V upravitelju paketov lahko preverite, ali imate nameščen program ‚pinentry‘. Morda ga boste morali nastaviti tudi v datoteki gpg-agent.conf. Morda boste morali usmeriti gpg-agenta na pravilno TTY.