SSH#
✓ |
⨯ |
⨯ |
⨯ |
⨯ |
✓ |
✓ |
✓ |
This guide explains how to prepare your SSH server and client for use with the Nitrokey. For configuring PuTTY, see this guide:
Nitrokey by už mal mať nainštalované kľúče PGP a miestna kľúčenka GnuPG by mala poznať kľúče.
Príprava na klienta#
Uistite sa, že ~/.gnupg/gpg.conf obsahuje ‚use-agent‘
Pridanie podpory ssh do gnupg-agenta pridaním ‚enable-ssh-support‘ do ~/.gnupg/gpg-agent.conf
Ak súbor ešte neexistuje, môžete ho jednoducho vytvoriť.
Nasledujúci kód pridajte niekam do svojho ~/.bashrc (pre fish shell hľadajte tu)
unset SSH_AGENT_PID
if [ "${gnupg_SSH_AUTH_SOCK_by:-0}" -ne $$ ]; then
export SSH_AUTH_SOCK="$(gpgconf --list-dirs agent-ssh-socket)"
fi
Jednoducho reštartujte systém alebo skúste
pkill gpg-agent
a otvorte nový príkazový riadok, aby ste sa uistili, že je všetko nastavenéV prípade problémov skúste
gpg2 --card-status
pri prvom použití, aby ste sa uistili, že sa gpg-agent spustí
Príprava servera#
Súbor authorized_keys môžete vygenerovať spustením
gpg2 --export-ssh-key keyID >> ~/authorized_keys
kde
keyID
je identifikátor podkľúča, ktorý sa používa na overovanie na vašom kľúči Nitrokey. Kľúč Nitrokey už musí byť známy miestnemu zväzku kľúčov GnuPG. Teraz môžete tento súbor pripojiť k authorized_keys vzdialeného servera’a pri ssh na server budete požiadaní o PIN namiesto heslovej frázy.
Riešenie problémov#
Ak ste stále požiadaní o zadanie hesla, uistite sa, že
echo $SSH_AUTH_SOCK
vráti niečo ako ‚/run/user/1000/gnupg/S.gpg-agent.ssh‘ alebo ‚/home/username/.gnupg/.S.gpg-agent.ssh‘. Bohužiaľ, v minulosti došlo v GnuPG k určitým zmenám, takže skutočný obsah sa môže líšiť v závislosti od systému a verzie GnuPG. V niektorých systémoch môže byť v tejto premennej uložených dokonca viacero priečinkov. Musíte upraviť vyššie uvedený kód v .bashrc tak, aby premenná SSH_AUTH_SOCK bola správna. V prípade pochybností vyhľadajte ‚SSH_AUTH_SOCK‘ v
man gpg-agent
nájsť skutočný kód pre vašu verziu/systém.
Prostredníctvom správcu balíkov môžete skontrolovať, či máte nainštalovaný program ‚pinentry‘. Možno budete musieť nastaviť aj v súbore gpg-agent.conf. Možno bude potrebné nastaviť gpg-agent na správny TTY.