In Auszügen gemopst von Mike Kuketz‘ Blog (das man nicht oft genug weiterempfehlen kann) aus der Nitrokey-Artikelserie. Setzt einen entsprechend generierten gnupg-Key zur Authentifizierung voraus. Und wenn man nicht aufpasst bzw. den Key verschlampt, ist SSH halt dicht 🙂
Aktivierung des gpg-agents für SSH:
echo enable-ssh-support >> $HOME/.gnupg/gpg-agent.conf
Anpassen der .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
Deaktivieren des gpg-agent
gpgconf --kill gpg-agent
Schlüssel exportieren und übertragen
gpg --export-ssh-key <keyid> | ssh <user>@<server-ip> "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
Deaktivierung des manuellen Logins auf dem Server unter /etc/ssh/sshd_config
#PasswordAuthentication yes
ändern in
PasswordAuthentication no
Neustart des OpenSSH-Dienstes
systemctl restart sshd