SSH¶
| Compatible Nitrokeys | |||||||
|---|---|---|---|---|---|---|---|
| ✓ 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 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-agenta otvorte nový príkazový riadok, aby ste sa uistili, že je všetko nastavené
- V prípade problémov skúste - gpg2 --card-statuspri 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.