SSH¶
✓ |
⨯ |
⨯ |
⨯ |
⨯ |
✓ |
✓ |
✓ |
This guide explains how to prepare your SSH server and client for use with the Nitrokey. For configuring PuTTY, see this guide:
Nitrokey bör redan ha PGP-nycklar installerade och den lokala GnuPG-nyckelringen bör känna till nycklarna.
Förberedelser på uppdragsgivaren¶
Kontrollera att ~/.gnupg/gpg.conf innehåller ’use-agent’
Lägg till ssh-stöd till gnupg-agent genom att lägga till ’enable-ssh-support’ till ~/.gnupg/gpg-agent.conf
Om filen ännu inte finns kan du bara skapa den.
Lägg till följande kod någonstans i din ~/.bashrc (för fish shell, se här)
unset SSH_AGENT_PID
if [ "${gnupg_SSH_AUTH_SOCK_by:-0}" -ne $$ ]; then
export SSH_AUTH_SOCK="$(gpgconf --list-dirs agent-ssh-socket)"
fi
Starta om systemet eller prova
pkill gpg-agent
och öppna en ny kommandorad för att kontrollera att allt är inställt.Vid problem kan du prova
gpg2 --card-status
vid första användningen för att se till att gpg-agenten startas.
Förberedelser för servern¶
Du kan generera en fil med auktoriserade nycklar genom att köra antingen
gpg2 --export-ssh-key keyID >> ~/authorized_keys
där
keyID
är det undernyckel-id som används för autentisering på din Nitrokey. Nitrokey måste redan vara känd i den lokala GnuPG-nyckelringen. Du kan nu lägga till den filen till en fjärrserver’s authorized_keys och när du sshar till servern kommer du’att bli tillfrågad om en pin istället för en lösenfras.
Felsökning¶
Om du fortfarande blir ombedd att ange ett lösenord ska du kontrollera att
echo $SSH_AUTH_SOCK
returnerar något som ’/run/user/1000/gnupg/S.gpg-agent.ssh’ eller ’/home/username/.gnupg/.S.gpg-agent.ssh’. Tyvärr har det skett en del förändringar i GnuPG i det förflutna, vilket gör att det faktiska innehållet kan skilja sig åt mellan system och GnuPG-version. På vissa system kan det till och med finnas flera mappar i denna variabel som sparas. Du måste anpassa den ovan angivna koden i .bashrc så att variabeln SSH_AUTH_SOCK är korrekt. Om du är osäker kan du leta efter ’SSH_AUTH_SOCK’ i
man gpg-agent
för att hitta den aktuella koden för din version/det aktuella systemet.
Du kan kontrollera om du har ett ’pinentry’ program installerat via din pakethanterare. Du kan behöva sätta det i gpg-agent.conf också. Det kan hända att du måste punkta gpg-agent till rätt TTY.