SSH

Compatible Nitrokeys

3A/C/Mini

Passkey

HSM 2

Pro 2

FIDO2

Storage 2

Start

U2F

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:

A Nitrokey-nek már telepített PGP-kulcsokkal kell rendelkeznie, és a helyi GnuPG kulcstárnak ismernie kell a kulcsokat.

Felkészülés az ügyfélre

  • Győződjön meg róla, hogy a ~/.gnupg/gpg.conf tartalmazza a «use-agent»

  • Az ssh támogatás hozzáadása a gnupg-agenthez a «enable-ssh-support» hozzáadásával a ~/.gnupg/gpg-agent.conf fájlhoz.

  • Ha a fájl még nem létezik, akkor egyszerűen létrehozhatja.

  • Adja hozzá a következő kódot valahol a ~/.bashrc fájljához (a halak héjához keresse itt).

unset SSH_AGENT_PID
if [ "${gnupg_SSH_AUTH_SOCK_by:-0}" -ne $$ ]; then
export SSH_AUTH_SOCK="$(gpgconf --list-dirs agent-ssh-socket)"
fi
  • Egyszerűen indítsa újra a rendszert, vagy próbálja meg pkill gpg-agent és nyisson egy új parancssort, hogy meggyőződjön róla, hogy minden be van állítva.

  • Problémák esetén próbálja ki a gpg2 --card-status<x> az első használatnál, hogy a gpg-agent biztosan elinduljon.

A szerver előkészítése

Az authorized_keys fájlt a következő futtatással hozhatja létre

gpg2 --export-ssh-key keyID >> ~/authorized_keys

ahol

keyID

a Nitrokey hitelesítésére használt alkulcs azonosítója. A Nitrokey-nek már ismertnek kell lennie a helyi GnuPG kulcstárban. Most már hozzáadhatod ezt a fájlt egy távoli szerverhez’s authorized_keys és amikor ssh-t használsz a szerverhez, akkor a jelszó helyett egy pin-t fogsz kérni.

Hibaelhárítás

Ha még mindig jelszót kérnek, kérjük, győződjön meg róla, hogy

echo $SSH_AUTH_SOCK

valami olyasmit ad vissza, mint «/run/user/1000/gnupg/S.gpg-agent.ssh» vagy «/home/felhasználónév/.gnupg/.S.gpg-agent.ssh». Sajnos a GnuPG-ben a múltban volt néhány változás, így a tényleges tartalom eltérhet a rendszertől és a GnuPG verziójától függően. Egyes rendszereken akár több mappa is lehet ebben a változóban elmentve. A fenti kódot a .bashrc-ben úgy kell módosítani, hogy az SSH_AUTH_SOCK változó helyes legyen. Kétség esetén keresse meg a «SSH_AUTH_SOCK» -t az alábbiakban.

man gpg-agent

hogy megtalálja a verziójához/rendszeréhez tartozó tényleges kódot.

A csomagkezelőn keresztül ellenőrizheti, hogy telepítve van-e a «pinentry» program. Lehet, hogy a gpg-agent.conf ban is be kell állítanod. Lehet, hogy a megfelelő TTY TTY-re kell irányítani a gpg-agentet.