Ja, ich habe ein Setup, in dem ich ssh
mithilfe der Authentifizierung mit öffentlichem Schlüssel auf meinen Server zugreifen kann. Bei Verwendung meines privaten Schlüssels wird auf die Zwei-Faktor-Authentifizierung mit Google Authenticator + Kennwort zurückgegriffen. Mit diesen Schritten können Sie es einrichten.
Installieren von Google Authenticator
Auf meinem Server wird Ubuntu Bionic Beaver (18.04.1) ausgeführt. Sie können Google Authenticator installieren mit apt
:
$ sudo apt install libpam-google-authenticator
SSHD konfigurieren
Öffnen /etc/pam.d/sshd
Sie die folgende Zeile und fügen Sie sie oben hinzu:
auth optional pam_google_authenticator.so
Öffnen /etc/ssh/sshd_config
und ändern Sie eine Zeile. Die bestehende Linie ist
ChallengeResponseAuthentication no
und du solltest es ändern in
ChallengeResponseAuthentication yes
Konfigurieren von Google Authenticator für Ihr Konto
Der nächste Schritt besteht darin, Google Authenticator für Ihr Konto zu aktivieren. Sie tun dies, indem Sie einfach Folgendes ausführen:
$ google-authenticator
Stellen Sie sicher, dass Sie dies als Benutzer ausführen, der SSH-Verbindungen herstellt, nicht als Root. Notieren Sie sich Ihren neuen geheimen Schlüssel und Ihre Notfall-Rubbelcodes. Der Assistent stellt Ihnen verschiedene Fragen, um die Sicherheitseinstellungen für Ihr Konto zu konfigurieren.
Konfigurieren Ihrer mobilen App
Ich verwende die Google Authenticator-App für das iPhone. Diese App verfügt über eine Schaltfläche [+], mit der ich mithilfe des geheimen Schlüssels, den ich über den google-authenticator
Befehl auf meinem Server erhalten habe, ein neues zeitbasiertes Token hinzufügen kann. Es war trivial einzurichten. Ich kann Ihnen mit Apps auf keiner anderen Plattform helfen, aber ich stelle mir vor, dass der Vorgang genauso einfach ist.
Abzug betätigen
Das letzte, was Sie tun müssen, ist ein Neustart sshd
.
$ sudo /etc/init.d/ssh restart
Wenn Sie zu diesem Zeitpunkt versuchen, eine Verbindung zum Server herzustellen, wenn Ihr privater Schlüssel verfügbar ist, funktioniert die Authentifizierung nur. Wenn Ihr privater Schlüssel nicht verfügbar ist, werden Sie aufgefordert, einen Bestätigungscode und anschließend Ihr Kontokennwort einzugeben.
Bingo, Zwei-Faktor-Authentifizierung.