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 již měl mít nainstalované klíče PGP a místní klíčenka GnuPG by měla klíče znát.
Příprava na klienta¶
Ujistěte se, že ~/.gnupg/gpg.conf obsahuje ‚use-agent‘
Přidání podpory ssh do gnupg-agenta přidáním ‚enable-ssh-support‘ do ~/.gnupg/gpg-agent.conf
Pokud soubor ještě neexistuje, můžete jej vytvořit.
Někam do souboru ~/.bashrc přidejte následující kód (pro rybí skořápku hledejte zde)
unset SSH_AGENT_PID
if [ "${gnupg_SSH_AUTH_SOCK_by:-0}" -ne $$ ]; then
export SSH_AUTH_SOCK="$(gpgconf --list-dirs agent-ssh-socket)"
fi
Jednoduše restartujte systém nebo zkuste
pkill gpg-agent
a otevřete nový příkazový řádek, abyste se ujistili, že je vše nastaveno.V případě problémů zkuste
gpg2 --card-status
při prvním použití, abyste se ujistili, že se gpg-agent spustí.
Příprava serveru¶
Soubor authorized_keys můžete vygenerovat spuštěním příkazu
gpg2 --export-ssh-key keyID >> ~/authorized_keys
kde
keyID
je id dílčího klíče, který se používá pro ověřování na vašem klíči Nitrokey. Klíč Nitrokey musí být již znám v místní sbírce klíčů GnuPG. Nyní můžete tento soubor připojit ke vzdálenému serveru’s authorized_keys a při ssh na serveru budete’požádáni o PIN místo přístupové fráze.
Řešení problémů¶
Pokud jste stále žádáni o zadání hesla, ujistěte se, že.
echo $SSH_AUTH_SOCK
vrátí něco rozumného jako ‚/run/user/1000/gnupg/S.gpg-agent.ssh‘ nebo ‚/home/username/.gnupg/.S.gpg-agent.ssh‘. Bohužel v minulosti došlo v GnuPG k některým změnám, takže skutečný obsah se může lišit podle verze systému a GnuPG. V některých systémech může být v této proměnné uloženo i více složek. Výše uvedený kód v .bashrc musíte upravit tak, aby proměnná SSH_AUTH_SOCK byla správně. V případě pochybností vyhledejte ‚SSH_AUTH_SOCK‘ v položce
man gpg-agent
najít skutečný kód pro vaši verzi/systém.
Prostřednictvím správce balíčků můžete zkontrolovat, zda máte nainstalovaný program ‚pinentry‘. Možná budete muset nastavit také v souboru gpg-agent.conf. Možná bude nutné nastavit gpg-agent na správné TTY.