Zum Hauptinhalt springen
  1. Blog/

SUDO mit ssh keyfile

thumb-sudo-mit-ssh-keyfile.jpg
Kürzlich stolperte ich über einen Beitrag über sudo mit Keyfile. Wunderbar, nie wieder ein Passwort für sudo eingeben (mein ssh key hat ein Passwort), wie cool ist das denn. Nachdem ich anfangs einige Schwierigkeiten hatte, möchte ich hier meinen Weg aufschreiben.

libpam-ssh-agent-auth installieren

aptitude install libpam-ssh-agent-auth

sudoers via visudo hinzufügen

Defaults env_keep += "SSH_AUTH_SOCK"

Folgendes zu /etc/pam.d/sudo hinzufügen

auth sufficient pam_ssh_agent_auth.so file=/etc/ssh/sudo_authorized_keys

Authorized keys kopieren

cp /home/your_user/.ssh/authorized_keys /etc/ssh/sudo_authorized_keys
chown root:root /etc/ssh/sudo_authorized_keys

Vergewissere dic, dass du die gleichen Identitäten in deinem lokalen ssh-Agenten hinzugefügt hast. Teste es mit

ssh-add -L

Er sollte die öffentlichen Schlüssel in deinem Agenten ausgeben und mindestens einer davon sollte mit dem öffentlichen Schlüssel auf dem Server in /etc/ssh/sudo_authorized_keys übereinstimmen. Wenn dies nicht der Fall ist, füge den Schlüssel mit folgendem Befehl hinzu

ssh-add ~/.ssh/your_keyfile

Vergesse auch nicht, die Schlüsselweiterleitung für diesen Server zu aktivieren (mein letzter Fehler). Füge dazu folgendes:

ForwardAgent yes

in ~/.ssh/config für entsprechende(n) host(s) hinzu.

Ssh danach neustarten:

systemctl restart ssh