SSH#

This guide explains how to prepare your SSH server and client for use with the Nitrokey. For configuring PuTTY, see this guide:

Nitrokey jau ir jābūt instalētām PGP atslēgām, un vietējai GnuPG atslēgu kopai ir jāzina atslēgas.

Sagatavošana par klientu#

  • Pārliecinieties, ka ~/.gnupg/gpg.conf satur ‚use-agent‘

  • Pievienojiet ssh atbalstu gnupg-agent, pievienojot ‚enable-ssh-ssh-support‘ uz ~/.gnupg/gpg-agent.conf

  • Ja faila vēl nav, varat to vienkārši izveidot.

  • Pievienojiet kaut kur savā ~/.bashrc šādu kodu (zivs apvalkam meklējiet šeit)

unset SSH_AGENT_PID
if [ "${gnupg_SSH_AUTH_SOCK_by:-0}" -ne $$ ]; then
export SSH_AUTH_SOCK="$(gpgconf --list-dirs agent-ssh-socket)"
fi
  • Vienkārši restartējiet sistēmu vai izmēģiniet pkill gpg-agent un atveriet jaunu komandrindu, lai pārliecinātos, ka viss ir iestatīts.

  • Ja rodas problēmas, lūdzu, izmēģiniet gpg2 --card-status pirmajā lietošanas reizē, lai pārliecinātos, ka gpg-agents tiek palaists.

Servera sagatavošana#

Autorizēto_atslēgu failu var ģenerēt, izpildot vai nu

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

kur

keyID

ir apakšatslēgas id, kas tiek izmantots Nitrokey autentifikācijai. Nitrokey jau ir jābūt zināmam vietējai GnuPG atslēgu kopai. Tagad jūs varat pievienot šo failu attālinātā servera autorizētajiem_atslēgiem, un, ssh pieslēdzoties serverim, jums tiks prasīts PIN kods, nevis parole.

Problēmu novēršana#

Ja joprojām tiek pieprasīta parole, pārliecinieties, vai.

echo $SSH_AUTH_SOCK

atgriež kaut ko līdzīgu ‚/run/user/1000/gnupg/S.gpg-agent.ssh‘ vai ‚/home/username/.gnupg/.S.gpg-agent.ssh‘. Diemžēl pagātnē GnuPG ir notikušas dažas izmaiņas, tāpēc faktiskais saturs var atšķirties atkarībā no sistēmas un GnuPG versijas. Dažās sistēmās šajā mainīgajā var būt saglabātas pat vairākas mapes. Jums ir jāpielāgo iepriekš dotais kods .bashrc, lai mainīgais SSH_AUTH_SOCK būtu pareizs. Ja rodas šaubas, meklējiet ‚SSH_AUTH_SOCK‘ in

man gpg-agent

lai atrastu jūsu versijai/sistēmai atbilstošo kodu.

Varat pārbaudīt, vai ir instalēta ‚pinentry‘ programma, izmantojot pakotņu pārvaldnieku. Iespējams, jums būs nepieciešams noteikt to arī gpg-agent.conf. Iespējams, būs nepieciešams norādīt gpg-agent uz pareizo TTY.