Ich verwende derzeit Kryptonite , um den privaten Schlüssel, den ich für SSH verwende, in Hosts zu schützen. Dies funktioniert gut, außer wenn ich zu root eskalieren muss.
Wenn ich sudo
eine zufällig generierte Zeichenfolge mit 20 Zeichen aus meinem Kennwortmanager kopieren muss, überprüfen Sie, ob ich wirklich an der Kennwortabfrage bin, und fügen Sie sie ein, damit mein Befehl ausgeführt wird.
Ich würde viel lieber meinen Yubikey verwenden, um mich zu authentifizieren sudo
. Ich kann 101 Anleitungen dazu finden, sudo
wenn ich auf lokalen Hosts mit dem an meine lokalen Hosts angeschlossenen Yubikey arbeite. Wie kann ich dies tun, wenn ich sudo
auf einem Remote-Host über SSH mit dem an meinen lokalen Computer angeschlossenen Schlüssel arbeiten möchte ?
Sowohl auf lokalen als auch auf Remote-Hosts werden aktuelle Linux / GNU-Distributionen ausgeführt, insbesondere RHEL / Fedora, wenn dies einen Unterschied macht.
Antworten:
Es
pam_ssh_agent_auth
gibt genau das, was Sie brauchen. Dieses Paket ist sowohl für Fedora als auch für RHEL verfügbar, sodass das Einrichten und Installieren sehr einfach ist:Fügen Sie Ihrem hinzu
/etc/sudoers
:Setzen Sie Ihren ssh-public-Schlüssel auf
/etc/security/authorized_keys
(erhalten Sie ihn beispielsweise von yubikey mitssh-keygen -D /usr/lib64/pkcs11/opensc-pkcs11.so
)Fügen Sie am Anfang eine Zeile hinzu
/etc/pam.d/sudo
:Dann fügen Sie einfach die pkcs11-Bibliothek zu Ihrer hinzu
ssh-agent
und könnensudo
ohne Kennwort ausgeführt werden (Authentifizierung mit dem Schlüssel auf dem Token):Dieser Vorgang wird auch auf der Handbuchseite für beschrieben
pam_ssh_agent_auth
.Beachten Sie, dass die Schlüssel auf dem Yubikey zuvor generiert werden müssen, dies ist jedoch bereits in der Yubico-Dokumentation beschrieben.
quelle