Nitrokey Schlüssel auf weiterem Rechner einrichten

Ausgangspunkt ist ein Nitrokey mit einem installiertem Schlüssel. Dieser Key soll jetzt für die Verwendungen mit SSH auf einem anderen PC eingerichtet werden. Voraussetzung hierfür ist der Import des öffentlichen Schlüssels auf dem neuen Rechner. Diesen öffentlichen Schlüssel habe ich mit folgendem Befehl zuerst von dem Nitrokey exportiert

 gpg --card-status | grep 'General key info'
 gpg --export-ssh-key "Schlüsselnahme von eben" > id_rsa_nitrokey-1.pub

Diesen öffentlichen Schlüssel kann man z.B. auf einem Webserver hinterlegen. Damit der Import auf dem neuen Rechner einfacher geht ist es sinnvoll die URL des öffentlichen Schlüssels auf dem Nitrokey zu hinterlegen.

 gpg --card-edit
 > admin
 > url 
 > "URL des keys"

Auf dem Zielrechner dann notwendige Software installieren

sudo apt install scdaemon

und wieder die gpg Konfiguration wie hier beschrieben anpassen.

vi .gnupg/gpg.conf
   use-agent

vi ~/.gnupg/gpg-agent.conf
  enable-ssh-support

Den öffentlichen Schlüssel besorgen

gpg --card-edit

gpg/card> admin
Admin-Befehle sind erlaubt

gpg/card> fetch

und die bash / zsh rc anpassen

vi ~/.bashrc

 unset SSH_AGENT_PID
 if [ "${gnupg_SSH_AUTH_SOCK_by:-0}" -ne $$ ]; then
 export SSH_AUTH_SOCK="$(gpgconf --list-dirs agent-ssh-socket)"
 fi

dann noch den gpg-agent neustarten

pkill gpg-agent

Dann sollte in einem neuen Terminalfenster nach bei einem Zugriff über ssh wieder die PIN des Nitrokeys abgefragt werden.