Also habe ich diesen kleinen Yubikey und möchte beim Authentifizieren von ssh-Sitzungen eine zusätzliche Sicherheitsebene hinzufügen. Auf der Serverseite habe ich die Kennwortauthentifizierung bereits deaktiviert und erlaube nur die Verwendung von SSH-Schlüsseln beim Anmelden.
Das Problem ist, dass nach der Konfiguration von sshd und PAM für yubikey auth sshd immer noch nur einen ssh-Schlüssel benötigt. Ich werde nie gebeten, eine Antwort vom yubikey zu geben.
Wie benötige ich sowohl einen SSH- Schlüssel als auch einen Yubikey?
(ubuntu 14.04 - trusty)
/etc/pam.d/common-auth
:
auth required pam_yubico.so mode=client try_first_pass id=<id> key=<secret>
auth [success=1 default=ignore] pam_unix.so nullok_secure try_first_pass
# here's the fallback if no module succeeds
auth requisite pam_deny.so
# prime the stack with a positive return value if there isn't one already;
# this avoids us returning an error just because nothing sets a success code
# since the modules above will each just jump around
auth required pam_permit.so
# and here are more per-package modules (the "Additional" block)
auth optional pam_cap.so
# end of pam-auth-update config
/etc/ssh/sshd_config
:
...
PasswordAuthentication no
ChallengeResponseAuthentication yes
UsePAM yes
ssh
two-factor
ben lemasurier
quelle
quelle
Antworten:
Ok, ich habe weitergemacht und ich denke, ich habe eine vernünftige Lösung gefunden. Das Wichtigste, was ich bisher vermisst habe, war das von sshd
AuthenticationMethods publickey,password
. Dies erzwingt die Anforderung sowohl eines öffentlichen Schlüssels als auch eines Passworts - "Passwörter" werden jetzt von verarbeitetPAM->auth-yubi
. Zusätzliche Änderungen waren ebenfalls erforderlich, siehe unten:(Ubuntu 14.04 - vertrauenswürdig):
/etc/pam.d/yubi-auth
Hinweis: Sie können Ihre Zugangskennung und geheimen Schlüssel erhalten hier
/etc/pam.d/sshd
/ etc / ssh / sshd_config
service ssh restart
Nachprüfung
SSH von einem Remote-Host ohne öffentlichen Schlüssel
SSH von einem Remote-Host mit einem öffentlichen Schlüssel
Verbesserung
Es wäre schön, wenn Sie beim Authentifizieren "Yubikey Auth:" anstelle von "password:" vom Remote-SSH-Server sehen würden.
Was passiert, wenn der SSH-Server keine Verbindung zum Authentifizierungssystem von yubico herstellen kann? Eine ideale Lösung wäre völlig in sich geschlossen.
Kommentare und Vorschläge erwünscht.
quelle
Das Einrichten von 2FA mit Yubikey kann schwierig sein (obwohl es einen OpenSh- Patch für U2F gibt ), aber der einfachste Weg ist wahrscheinlich der auf der offiziellen Yubico-Website beschriebene .
Es ist im Grunde die Art und Weise, Ihren privaten Schlüssel auf dem Yubikey zu speichern und ihn mit einer PIN zu schützen. Es ist nicht genau das 2FA, das Sie beschrieben haben (aber es ist etwas, was Sie haben und was Sie wissen ), aber es erhöht die Sicherheit noch mehr (Yubikey sperrt nach einigen erfolglosen Versuchen).
TL: DR;
quelle