SSH-Schlüssel für die Authentifizierung verwenden
Warum Schlüssel?
Die Authentifizierung mit öffentlichem Schlüssel beruht auf einem Schlüsselpaar je Benutzer, dem Paar aus öffentlichem und privatem Schlüssel. Der auf dem SSH-Client erzeugte öffentliche Schlüssel wird in die Datei authorized_keys des SSH-Servers kopiert, und damit stuft der SSH-Server den Schlüssel als vertrauenswürdig ein. Bei der Anmeldung sendet der Server eine Challenge, die nur der Besitzer des passenden privaten Schlüssels signieren kann. Das Passwort wird nie übertragen.
So richten Sie die schlüsselbasierte SSH-Authentifizierung ein
Legen Sie das Schlüsselverzeichnis an.
mkdir -p ~/.ssh
Sichern Sie das Verzeichnis .ssh, sodass nur der SSH-Benutzer Zugriff hat.
chmod 700 ~/.ssh
Erzeugen Sie das Schlüsselpaar.
ssh-keygen -t rsa
Folgen Sie den Hinweisen auf dem Bildschirm, um die Schlüssel interaktiv zu erzeugen. Geben Sie (optional) eine Passphrase zum Schutz des privaten Schlüssels ein. Wenn Sie eine Passphrase setzen, wird sie bei jeder SSH-Sitzung abgefragt.
Kopieren Sie den öffentlichen Schlüssel in die authorized_keys auf dem Server.
Sie können entweder den Text aus der Datei ~/.ssh/id_rsa.pub kopieren und in die Datei ~/.ssh/authorized_keys auf dem Server einfügen, oder Sie übertragen den Schlüssel mit dem Werkzeug ssh-copy-id in der folgenden Form.
ssh-copy-id -i ~/.ssh/id_rsa.pub user@server
Der Schalter -i gibt die Identitätsdatei an, also den öffentlichen Schlüssel.
Deaktivieren Sie die Authentifizierung mit Passwort und aktivieren Sie die Authentifizierung mit öffentlichem Schlüssel.
Melden Sie sich als root am Server an, öffnen Sie die Datei /etc/ssh/sshd_config mit einem beliebigen Texteditor und stellen Sie sicher, dass die Direktiven die folgenden Werte haben.
PubkeyAuthentication yes
PasswordAuthentication no
Wenn der Schlüssel für den Benutzer root ist, setzen Sie PermitRootLogin prohibit-password, damit sich root mit Schlüssel, aber nie mit Passwort anmelden kann. Für neue Schlüssel bevorzugen Sie ssh-keygen -t ed25519.
PermitRootLogin prohibit-password
Starten Sie den SSH-Dienst auf dem Server neu und testen Sie die SSH-Verbindung vom Client aus. Bei Verbindungsproblemen verwenden Sie den Schalter -vv beim Befehl ssh.
ssh -vv root@yourhost.com
Tipps
Besitz und Rechte des Verzeichnisses müssen bei diesem Benutzer liegen: chmod 600 ~/.ssh/id_rsa
Shared FAQ page chrome (breadcrumb, dates, read time, «Weiterlesen», enquiry block, category labels): see INDEX-AND-CHROME.md. Translate once.
Aus den FAQ von EuroVPS.
Mehr in «Anleitungen»Ihr nächster Infrastrukturpartner
Haben Sie noch
eine Frage?
Sagen Sie uns, was Sie erreichen möchten. Ein Ingenieur liest es und antwortet.
+357 222 32280
Beginnen wir mit Ihrer Umgebung.
Ein wenig Kontext hilft uns, das richtige Gespräch zu beginnen.
