SSH serveri administreerimiseks#

Selles juhendis selgitatakse, kuidas valmistada oma SSH-server ja -klient ette Nitrokeyga kasutamiseks.

Nitrokey peaks juba olema paigaldatud PGP-võtmed ja kohalik GnuPG võtmehoidja peaks teadma võtmeid.

Ettevalmistus kliendi kohta#

  • Veenduge, et ~/.gnupg/gpg.conf sisaldab ‚use-agent‘

  • Lisa ssh-tugi gnupg-agent’ile, lisades ~/.gnupg/gpg-agent.conf’ile ‚enable-ssh-support‘.

  • Kui faili ei ole veel olemas, saate selle lihtsalt luua.

  • Lisage järgmine kood kuskile oma ~/.bashrc faili (kalakooriku jaoks vaadake ` siin <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
  • Lihtsalt taaskäivitage oma süsteem või proovige pkill gpg-agent ja avage uus käsurea, et veenduda, et kõik on seadistatud.

  • Probleemide korral proovige esimesel kasutamisel gpg2 --card-status<x>, et veenduda, et gpg-agent käivitub.

Ettevalmistus serveri jaoks#

Saate luua authorized_keys faili, käivitades kas

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

kus

keyID

on alamvõtme id, mida kasutatakse autentimiseks teie Nitrokey’s. Nitrokey peab olema juba teada kohalikule GnuPG võtmehoidjale. Nüüd saate selle faili lisada kaugserveri’s authorized_keys ja kui te ssh serverisse sisenete, küsitakse te’lilt PIN-koodi, mitte salasõna.

Veaotsing#

Kui teilt küsitakse endiselt parooli, siis veenduge, et

echo $SSH_AUTH_SOCK

tagastab midagi sellist nagu ‚/run/user/1000/gnupg/S.gpg-agent.ssh‘ või ‚/home/username/.gnupg/.S.gpg-agent.ssh‘. Kahjuks on GnuPG-s minevikus toimunud mõned muudatused, nii et tegelik sisu võib erineda sõltuvalt süsteemist ja GnuPG versioonist. Mõnes süsteemis võib selles muutujas olla salvestatud isegi mitu kausta. Te peate kohandama ülaltoodud koodi .bashrc-s, et muutuja SSH_AUTH_SOCK oleks õige. Kahtluse korral otsige ‚SSH_AUTH_SOCK‘ sisse.

man gpg-agent

et leida tegelik kood teie versiooni/süsteemi jaoks.

Võite kontrollida, kas teil on ‚pinentry‘ programm paigaldatud oma paketihalduri kaudu. Võib-olla pead seadistama selle ka gpg-agent.conf. Võimalik, et peate määrama gpg-agentile õige TTY.