Ich besitze derzeit einen Ubuntu Server 12.04, auf dem OpenSSH zusammen mit Samba und einigen anderen Diensten ausgeführt wird. Derzeit ist die Authentifizierung mit öffentlichem Schlüssel eingerichtet, und ich frage mich, ob die Einrichtung einer Zwei-Faktor-Authentifizierung möglich ist. Ich habe mir Google Authenticator angesehen, den ich derzeit mit meinem Google Mail-Konto verwende.
Ich habe ein PAM-Modul gefunden, das so aussieht, als ob es kompatibel wäre. Es scheint jedoch, dass Sie gezwungen sind, ein Kennwort und den generierten Code zu verwenden.
Ich frage mich, ob es eine Möglichkeit gibt, die Google Authenticator-Anwendung (oder etwas Ähnliches) zusammen mit meinem öffentlichen Schlüssel zur Authentifizierung bei meinem SSH-Server zu verwenden.
quelle
Antworten:
Red Hat hat OpenSSH in RHEL (und damit CentOS) 6.3 um einen Patch erweitert, der mehrere Authentifizierungsmechanismen erfordert.
In den Versionshinweisen finden Sie nicht viel mehr Details.
Leider scheint diese Funktion weder in OpenSSH noch in Ubuntu 12.04 verfügbar zu sein. Wenn Sie also den Patch nicht finden und OpenSSH neu kompilieren möchten, haben Sie leider Pech.
quelle
AuthenticationMethods
, um mehrere erforderliche Methoden anzugeben, sodass Sie sowohl einen SSH-Schlüssel als auch PAM benötigen können, wobei PAM das Ende von Google Authenticator übernimmt.Sie suchen nach Duo Security
quelle
Sie können sowohl das Google Authenticator PAM-Modul als auch öffentliche Schlüssel verwenden. Es wird jedoch jeweils nur einer für eine bestimmte Authentifizierung verwendet. Wenn sich ein Benutzer mit einem autorisierten öffentlichen Schlüssel anmeldet, ist kein Token erforderlich.
Oder anders ausgedrückt: Token werden nur für die Kennwortauthentifizierung benötigt, keine SSH-Schlüssel.
Diese Einschränkung kommt übrigens nicht vom Google Authenticator-Modul, sondern von SSH, das nur die Zwei-Faktor-Authentifizierung (via
ChallengeResponseAuthentication
) für PAM implementiert, PAM jedoch nicht aufruft, wenn ein gültiger öffentlicher Schlüssel bereitgestellt wird.quelle
AuthenticationMethods
Konfigurationsparameter hinzu, der dies umkehren kann. Jetzt können Sie beides verlangen.Diese Frage stammt aus dem Jahr 2012. Seitdem hat sich SSH geändert und das SSH2-Protokoll wurde implementiert.
In neueren Versionen von SSH (> = 6.2) erwähnt man sshd_config:
Auf dieser Seite http://lwn.net/Articles/544640/ wird auch die Möglichkeit erwähnt, gleichzeitig einen öffentlichen Schlüssel und eine PAM-Authentifizierung zu verwenden.
quelle
Ich weiß, dass diese Frage ein wenig veraltet ist, aber für zukünftige Leute (ich eingeschlossen), die nach einer Lösung suchen, wird auch die Verwendung der Option ForceCommand in der Datei sshd_config zur Ausführung eines Skripts empfohlen, das dann die Authentifizierung ausführt. Hier gibt es ein Beispielskript , das Sie ein wenig an Ihre Bedürfnisse anpassen können. In diesem Beispiel ruft er es jedoch aus der authorized_keys-Datei auf, anstatt es mit dem ForceCommand von sshd_config systemweit zu machen.
quelle
Holen Sie sich einen YubiKey und folgen Sie dieser Anleitung: http://berrange.com/posts/2011/12/18/multi-factor-ssh-authentication-using-yubikey-and-ssh-public-keys-together/
AFAIK, dies ist die beste Möglichkeit, Yubikey auf Ihrem Server für den SSH-Zugriff zu implementieren. In der obigen Anleitung können Sie den öffentlichen Schlüssel + yubikey verwenden. Wenn Sie die offizielle Anleitung verwenden ( http://code.google.com/p/yubico-pam/wiki/YubikeyAndSSHViaPAM ), funktioniert dies nicht mit public- Schlüssel.
Grüße, Vip
quelle
Wenn Sie eine Passphrase für Ihren privaten Schlüssel festlegen, verfügen Sie bereits über eine Zwei-Faktor-Authentifizierung. Um sich einzuloggen, benötigen die Leute:
quelle