Wie richte ich die Zwei-Faktor-Authentifizierung mit OTP unter FreeBSD ein?

7

Ich habe einen FreeBSD-Server, den ich gerne von überall aus erreichen kann. Normalerweise verwende ich den öffentlichen SSH-Schlüssel, um mich anzumelden, oder wenn mein privater SSH-Schlüssel nicht verfügbar ist, verwende ich möglicherweise ein reguläres Kennwort über SSH. Wenn Sie sich jedoch von einem nicht vertrauenswürdigen Computer aus anmelden, besteht immer das Risiko, dass ein Keylogger mein Anmeldekennwort während der Eingabe erfasst.

FreeBSD unterstützt bereits OPIE , ein Einmalkennwortschema. Dies funktioniert hervorragend, aber das Einmalkennwort ist die einzige erforderliche Authentifizierung. Wenn ich eine Liste mit Einmalkennwörtern ausdrucke, die später verwendet werden sollen, und wenn ich diese Liste verliere, ist das alles, was jemand braucht.

Ich möchte die Authentifizierung so einrichten, dass ich ein Einmalkennwort sowie etwas, das ich kenne , benötige (ein Kennwort, außer nicht mein übliches Anmeldekennwort). Ich habe das Gefühl, dass die Antwort etwas mit PAM (und /etc/pam.d/sshd) zu tun hat , bin mir aber bei den Details nicht sicher.

Wie kann ich die Authentifizierung einrichten, wenn zwei Methoden erforderlich sind?

Greg Hewgill
quelle
Wenn Sie die Liste der OTPs verloren haben, würden Sie das nicht wissen und Ihr Opie-Passwort ändern?
Chris S
@Chris S: Dies setzt voraus, dass Sie sich von jedem Ort aus beim Server anmelden können, ohne über Ihre OTP-Liste zu verfügen.
Greg Hewgill
Angesichts der Tatsache, dass OPIE seit fast 16 Jahren nicht mehr aktualisiert wurde, war es zu dieser Zeit sicher ein Versehen. Ich weiß nicht, wie ich tun soll, was Sie verlangen, aber es klingt definitiv nach einer wirklich guten Idee, die umgesetzt werden sollte. Meine smart @ ss-Antwort auf die Möglichkeit, sich von fast überall aus anmelden zu können: Erwägen Sie, ein Smartphone mit PocketPutty oder einer ähnlichen App zu erwerben.
Chris S

Antworten:

1

Google Authenticator vielleicht? In meiner OpenSolaris-Box werde ich zuerst nach dem normalen Anmeldekennwort und dann nach dem TOTP-Bestätigungscode gefragt. So etwas wie das: http://www.marzocchi.net/Olafsen/Software/Two-FactorAuthentication

user207351
quelle
Auch hier fehlt die Anforderung, dass das normale Anmeldekennwort nicht als Kennwortelement verwendet wird.
MadHatter
0

Dazu müssen Sie das normale 'ssh_auth'-Modul mit dem' pam_opie'-Modul unter Verwendung des 'Flag'-Steuerflags stapeln.

Martin
quelle
1
Das würde sein tatsächliches Passwort enthüllen; Die Frage lautete ausdrücklich "außer nicht meinem üblichen Login-Passwort"
Chris S
Ah, das habe ich verpasst! Dann braucht er ein Pam-Modul, das ein statisches zweites Passwort mit ssh-kbdint verwendet. Leider kenne ich niemanden, der ein solches Modul geschrieben hat, aber es ist nicht sehr schwierig, da Sie ssh_auth verwenden und es ändern können, um eine andere Kennwortdatei zu verwenden.
Martin