Setup YubiKey (FIDO2) for use in Docker Container

Installation

sudo apt update
sudo apt install ssh-agent

Autostart per .bashrc und import der Schlüssel

# ~/.bashrc or ~/.zshrc
# Start one instance of ssh-agent and add all keys
SOCK="$HOME/.ssh/agent.sock"
if [ ! -S "$SOCK" ]; then
  eval $(ssh-agent -a "$SOCK" -s) >/dev/null
  for key in ~/.ssh/id_*; do
    [ -f "$key" ] && [[ "$key" != *.pub ]] && ssh-add "$key"
  done
fi
export SSH_AUTH_SOCK="$SOCK"

Dies fügt alle Schlüssel beim ersten Start der Bash hinzu, so dass diese später über den Agent und in allen Containern direkt über den Agent genutzt werden können (ohne dass die Keys im Container liegen müssen).

SSH Keys anzeigen:

ssh-add -L            # zeigt Keys, die der Agent anbietet

Wenn Dein key hier nicht angezeigt wird:

ssh-add ~/.ssh/id_ed25519_sk    # oder sk-ecdsa Stub

Test im Container

kickstart

Sollte ganz oben die Ausgabe machen: Mounting SSH Agent Socket…

Im Container sollte /ssh-agent gesetzt sein und ein ssh-add -l sollte den schlüssel zeigen