Wie kann ich mit OpenSSH sowohl die Kennwort- als auch die Public-Key-Authentifizierung aktivieren?


10

Ich möchte, dass sshd den öffentlichen Schlüssel der Benutzer überprüft und dann nach ihrem Kennwort fragt, anstatt nur nach dem einen oder anderen. Ist das möglich?

Antworten:



12

Dies ist ab OpenSSH 6.2 (veröffentlicht im März 2013) mit der AuthenticationMethodsKonfigurationsoption endlich verfügbar .

Sie können beispielsweise die folgende Zeile hinzufügen sshd_config, um sowohl die Authentifizierung mit öffentlichem Schlüssel als auch mit Kennwort zu erfordern:

AuthenticationMethods publickey,password

Wenn Sie sich anmelden sshund scpzuerst die Authentifizierung mit öffentlichem Schlüssel durchführen und dann nach einem Kennwort fragen:

$ ssh user@example.org
Authenticated with partial success.
user@example.org's password:

Wenn Sie ein Passwort für Ihre private Schlüsseldatei haben, werden Sie natürlich zuerst dazu aufgefordert. Beispiel mit PuTTY :

Using username "user".
Authenticating with public key "rsa-key-20131221-user"
Passphrase for key "rsa-key-20131221-user":
Further authentication required
user@example.org's password:

1

OpenSSH in RHEL / CentOS 6.3 unterstützt diese Funktion jetzt, obwohl ich sie in den OpenSSH-Versionshinweisen nicht finden kann. Aus den RHEL-Versionshinweisen :

SSH kann jetzt so eingerichtet werden, dass mehrere Authentifizierungsmethoden erforderlich sind (während SSH zuvor mehrere Authentifizierungsmethoden zuließ, von denen nur eine für eine erfolgreiche Anmeldung erforderlich war). Für die Anmeldung an einem SSH-fähigen Computer müssen beispielsweise sowohl eine Passphrase als auch ein öffentlicher Schlüssel eingegeben werden. Die Optionen RequiredAuthentications1und RequiredAuthentications2können in der /etc/ssh/sshd_configDatei konfiguriert werden, um Authentifizierungen anzugeben, die für eine erfolgreiche Anmeldung erforderlich sind. Beispiel:

  ~]# echo "RequiredAuthentications2 publickey,password" >> /etc/ssh/sshd_config

Weitere Informationen zu den oben genannten /etc/ssh/sshd_configOptionen finden Sie in der sshd_configManpage.


0

Es ist möglich, aber auf eine klobige und begrenzte Art und Weise. Zunächst erlauben Sie nur die Authentifizierung mit öffentlichem Schlüssel. Fügen /etc/ssh/sshd_configSie dann ein hinzu ForceCommand, das ein Skript ausführt, das das Kennwort überprüft.

Das Skript unterbricht SFTP, es sei denn, Sie überprüfen, ob der Befehl sftp ist, und lassen ihn ohne Kennwort durch.

Ich habe das noch nie versucht, damit jemand mehr Probleme sehen kann.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.