Wie kann man die SSH-Anmeldung mit Passwort automatisieren?
Mit der SSH-Schlüsselauthentifizierung können Sie eine Verbindung zu einem Linux-Server herstellen, ohne jedes Mal das Passwort Ihres Benutzerkontos eingeben zu müssen. Sie ist außerdem eine sicherere Alternative zur Speicherung eines Serverpassworts in Skripten, Verknüpfungen oder Befehlszeilenargumenten.
Die SSH-Authentifizierung verwendet ein kryptografisches Schlüsselpaar: einen privaten Schlüssel, der auf Ihrem Computer gespeichert wird, und einen öffentlichen Schlüssel, der dem Server hinzugefügt wird.
Achtung:
Geben Sie Ihren privaten SSH-Schlüssel niemals weiter und speichern Sie Ihr Serverpasswort nicht in Verknüpfungen, Skripten oder Befehlszeilenargumenten.
SSH-Schlüssel generieren
Öffnen Sie unter Windows, macOS oder Linux mit installiertem OpenSSH Terminal, Windows Terminal oder PowerShell und führen Sie folgenden Befehl aus:
ssh-keygen -t ed25519
Folgen Sie den Anweisungen, um auszuwählen, wo der Schlüssel gespeichert werden soll. Sie können den privaten Schlüssel zusätzlich mit einer Passphrase schützen.
Standardmäßig erstellt der Befehl einen privaten Schlüssel und den zugehörigen öffentlichen Schlüssel in Ihrem SSH-Verzeichnis.
Öffentlichen Schlüssel zum Server hinzufügen
Stellen Sie mit Ihren vorhandenen SSH-Zugangsdaten eine Verbindung zu Ihrem Linux-Server her.
Fügen Sie den Inhalt Ihres öffentlichen Schlüssels der folgenden Datei für den Benutzer hinzu, mit dem Sie sich authentifizieren möchten:
~/.ssh/authorized_keys
Stellen Sie sicher, dass das SSH-Verzeichnis und die Datei authorized_keys über die entsprechenden Berechtigungen verfügen:
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
Mit Ihrem SSH-Schlüssel verbinden
Nachdem der öffentliche Schlüssel zum Server hinzugefügt wurde, stellen Sie mit folgendem Befehl eine Verbindung her:
ssh username@server_ip -p ssh_port
Ersetzen Sie username, server_ip und ssh_port durch die Verbindungsdaten Ihres Servers. Den für Ihren Server bereitgestellten SSH-Port finden Sie in der Willkommens-E-Mail.
Wenn Ihr privater Schlüssel an einem anderen als dem standardmäßigen Speicherort gespeichert ist, geben Sie ihn mit der Option -i an:
ssh -i /path/to/private_key username@server_ip -p ssh_port