SSH¶
✓ |
⨯ |
⨯ |
⨯ |
⨯ |
✓ |
✓ |
✓ |
This guide explains how to prepare your SSH server and client for use with the Nitrokey. For configuring PuTTY, see this guide:
Nitrokey ar trebui să aibă deja instalate chei PGP, iar brelocul local GnuPG ar trebui să cunoască cheile.
Pregătirea pe client¶
Asigurați-vă că ~/.gnupg/gpg.conf conține «use-agent»
Adăugați suportul ssh la gnupg-agent adăugând «enable-ssh-support» la ~/.gnupg/gpg-agent.conf
În cazul în care fișierul nu există încă, îl puteți crea pur și simplu.
Adăugați următorul cod undeva în ~/.bashrc (pentru fish shell, căutați ` aici <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
Pur și simplu reporniți sistemul sau încercați
pkill gpg-agent
și deschideți o nouă linie de comandă pentru a vă asigura că totul este setatÎn caz de probleme, vă rugăm să încercați
gpg2 --card-status
la prima utilizare pentru a vă asigura că gpg-agent este pornit
Pregătirea pentru server¶
Puteți genera un fișier authorized_keys rulând fie
gpg2 --export-ssh-key keyID >> ~/authorized_keys
unde
keyID
este ID-ul de subcheie utilizat pentru autentificare pe Nitrokey. Nitrokey trebuie să fie deja cunoscută de brelocul de chei GnuPG local. Acum puteți adăuga acest fișier la authorized_keys al unui server de la distanță, iar atunci când vă conectați prin ssh la server vi se va cere un pin în loc de o frază de acces.
Depanare¶
Dacă vi se cere în continuare o parolă, asigurați-vă că
echo $SSH_AUTH_SOCK
returnează ceva de genul «/run/user/1000/gnupg/S.gpg-agent.ssh» sau «/home/nume utilizator/.gnupg/.S.gpg-agent.ssh». Din păcate, au existat unele modificări în GnuPG în trecut, astfel încât conținutul real poate diferi în funcție de sistem și de versiunea GnuPG. Pe unele sisteme pot exista chiar mai multe dosare în această variabilă salvată. Trebuie să adaptați codul dat mai sus în .bashrc astfel încât variabila SSH_AUTH_SOCK să fie corectă. În caz de îndoială, căutați «SSH_AUTH_SOCK» în
man gpg-agent
pentru a găsi codul real pentru versiunea/sistemul dumneavoastră.
Puteți verifica dacă aveți un program «pinentry» instalat prin intermediul managerului de pachete. Este posibil să fie nevoie să setați-l și în gpg-agent.conf. Este posibil să fie nevoie să punctați gpg-agent la TTY-ul corect.