SSH ist ein „Secure Shell Protocol“, das verwendet wird, um Remote-Linux-Systeme sicher über ein ungesichertes Netzwerk zu verbinden und zu verwalten. Es ist sehr nützlich für Systemadministratoren, um alltägliche Aufgaben auf dem Remote-Server auszuführen. Daher ist die Sicherung eines SSH-Servers ein wesentlicher Bestandteil jedes Systemadministrators.
Standardmäßig können Sie sich mit einem Passwort oder mit dem privaten Schlüssel mit SSH verbinden. Das heißt, es handelt sich nur um eine Ein-Faktor-Authentifizierung. Daher ist es eine gute Idee, eine Multi-Faktor-Authentifizierung im SSH-Server zu implementieren, um eine zusätzliche Sicherheitsebene hinzuzufügen. Bei der mehrstufigen Authentifizierung müssen Sie Ihr Systembenutzerkennwort und ein weiteres auf einem Mobilgerät generiertes Kennwort angeben. Dadurch wird die Sicherheit Ihres Servers erheblich verbessert.
In diesem Tutorial zeigen wir Ihnen, wie Sie die Multi-Faktor-Authentifizierung für SSH auf Ubuntu 20.04 VPS einrichten.
Voraussetzungen
- Ein Ubuntu 20.04 VPS (wir verwenden unseren SSD 2 VPS-Plan)
- Zugriff auf das Root-Benutzerkonto (oder Zugriff auf ein Administratorkonto mit Root-Rechten)
Schritt 1:Melden Sie sich beim Server an und aktualisieren Sie die Server-OS-Pakete
Melden Sie sich zunächst über SSH als Root-Benutzer bei Ihrem Ubuntu 20.04-Server an:
ssh root@IP_Address -p Port_number
Sie müssen „IP_Address“ und „Port_number“ durch die jeweilige IP-Adresse und SSH-Portnummer Ihres Servers ersetzen. Ersetzen Sie außerdem „root“ gegebenenfalls durch den Benutzernamen des Administratorkontos.
Bevor Sie beginnen, müssen Sie sicherstellen, dass alle auf dem Server installierten Ubuntu-Betriebssystempakete auf dem neuesten Stand sind. Sie können dies tun, indem Sie die folgenden Befehle ausführen:
apt-get update -y apt-get upgrade -y
Schritt 2:Google Authenticator installieren
Wir werden Google Authenticator für die Multi-Faktor-Authentifizierung verwenden. Sie müssen also das Google Authenticator PAM-Modul auf Ihrem System installieren. Sie können es installieren, indem Sie den folgenden Befehl ausführen:
apt-get install libpam-google-authenticator -y
Führen Sie nach der Installation des Pakets den Google Authenticator mit dem folgenden Befehl aus:
google-authenticator
Während der Installation wird Ihnen folgende Frage gestellt:
Do you want authentication tokens to be time-based (y/n) y Warning: pasting the following URL into your browser exposes the OTP secret to Google: https://www.google.com/chart?chs=200x200&chld=M|0&cht=qr&chl=otpauth://totp/root@ubuntu2004%3Fsecret%3D4XXQ2QA6FRV72SDM2JWSZTQJE4%26issuer%3D
Drücken Sie y und drücken Sie Enter weitermachen. Auf dem folgenden Bildschirm sollte ein QR-Code angezeigt werden:
Beantworten Sie alle Fragen und drücken Sie Enter um den Vorgang wie unten gezeigt abzuschließen:
Do you want to disallow multiple uses of the same authentication token? This restricts you to one login about every 30s, but it increases your chances to notice or even prevent man-in-the-middle attacks (y/n) y By default, a new token is generated every 30 seconds by the mobile app. In order to compensate for possible time-skew between the client and the server, we allow an extra token before and after the current time. This allows for a time skew of up to 30 seconds between authentication server and client. If you experience problems with poor time synchronization, you can increase the window from its default size of 3 permitted codes (one previous code, the current code, the next code) to 17 permitted codes (the 8 previous codes, the current code, and the 8 next codes). This will permit for a time skew of up to 4 minutes between client and server. Do you want to do so? (y/n) y If the computer that you are logging into isn't hardened against brute-force login attempts, you can enable rate-limiting for the authentication module. By default, this limits attackers to no more than 3 login attempts every 30s. Do you want to enable rate-limiting? (y/n) If the computer that you are logging into isn't hardened against brute-force login attempts, you can enable rate-limiting for the authentication module. By default, this limits attackers to no more than 3 login attempts every 30s. Do you want to enable rate-limiting? (y/n) y
Schritt 3:Google Authenticator-Anwendung installieren
Als nächstes müssen Sie die Google Authenticator-Anwendung auf Ihrem Smartphone installieren. Öffnen Sie nach der Installation Google Authenticator auf Ihrem Handy und scannen Sie den obigen QR-Code. Sobald der QR-Code gescannt wurde, sollten Sie ein sechsstelliges Einmalpasswort auf Ihrem Telefon sehen, wie unten gezeigt:
Dieses Passwort läuft innerhalb von 30 Sekunden ab. Sie müssen also die Google Authenticator-Anwendung öffnen und ein neues Passwort sehen, um sich über SSH beim Ubuntu-Server anzumelden.
Sie können auch den geheimen Schlüssel, den Verifizierungscode und den Notfall-Scratch-Code in der obigen Ausgabe sehen. Es wird empfohlen, es zur späteren Verwendung an einem sicheren Ort aufzubewahren.
Your new secret key is: 4XXQ2QA6FRV72SDM2JWSZTQJE4 Your verification code is 423832 Your emergency scratch codes are: 96469497 84504151 61871048 79931657 71052210
Schritt 4:Konfigurieren Sie SSH für die Verwendung von Google Authenticator
Als Nächstes müssen Sie auch SSH für die Verwendung von Google Authenticator konfigurieren. Sie können es konfigurieren, indem Sie die Datei /etc/ssh/sshd_config:
bearbeitennano /etc/ssh/sshd_config
Ändern Sie die folgenden Zeilen:
UsePAM yes ChallengeResponseAuthentication yes
Speichern und schließen Sie die Datei, wenn Sie fertig sind. Starten Sie dann den SSH-Dienst neu, um die Konfiguration zu übernehmen:
systemctl restart sshd
Als nächstes müssen Sie die Datei /etc/pam.d/sshd bearbeiten und PAM-Regeln für den SSH-Dienst definieren:
nano /etc/pam.d/sshd
Fügen Sie die folgende Zeile nach @include common-auth hinzu :
auth required pam_google_authenticator.so
Speichern und schließen Sie die Datei.
Schritt:5 Zwei-Faktor-Authentifizierung testen
An diesem Punkt ist Ihr SSH-Server jetzt mit Multi-Faktor-Authentifizierung konfiguriert. Es ist Zeit, es anzuschließen und zu testen.
Öffnen Sie auf dem Remote-System Ihr Terminal und melden Sie sich wie unten gezeigt über SSH bei Ihrem Server an:
ssh root@ssh-server-ip
Sie werden aufgefordert, Ihr Systemkennwort und den von Google Authenticator generierten Bestätigungscode anzugeben. Geben Sie Ihr Systempasswort ein, das in der Google Authenticator-App angezeigt wird, und drücken Sie Enter um sich wie unten gezeigt beim Server anzumelden:
Herzliche Glückwünsche! Ihr SSH-Server ist jetzt mit Multi-Faktor-Authentifizierung gesichert..
Natürlich müssen Sie die Multi-Faktor-Authentifizierung für SSH auf Ubuntu VPS nicht einrichten, wenn Sie einen unserer Managed Hosting-Dienste verwenden. In diesem Fall können Sie einfach unsere erfahrenen Linux-Administratoren bitten, die Multi-Faktor-Authentifizierung für SSH einzurichten auf Ubuntu, für Sie. Sie sind rund um die Uhr erreichbar und kümmern sich umgehend um Ihr Anliegen.
PS. Wenn Ihnen dieser Beitrag zur Einrichtung der Multi-Faktor-Authentifizierung für SSH auf Ubuntu gefallen hat, teilen Sie ihn bitte mit Ihren Freunden in den sozialen Netzwerken über die Schaltflächen auf der linken Seite oder hinterlassen Sie einfach unten eine Antwort. Danke.