Die schlüsselbasierte Authentifizierung in SSH wird als Authentifizierung mit öffentlichem Schlüssel / Public Key bezeichnet. Mit ssh-copy-id kann man leicht die Authentifizierung mit dem SSH Public Key einrichten. Der Prozess läuft wie folgt ab.
Generieren zuerst einen SSH-Schlüssel / SSH Key
Mit OpenSSH wird ein SSH-Schlüssel mit ssh-keygen erzeugt. Führe den Befehl ssh-keygen aus und beantworten die folgenden Fragen.
# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/seotheater/.ssh/id_rsa): meinKey
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in mykey.
Your public key has been saved in mykey.pub.
The key fingerprint is:
SHA256:FCKW765ALioSCryPtIsAfDiSKAcKeXeOUOz3Us ma@seo
The key's randomart image is:
+---[RSA 2048]----+
|.*++ o.o. |
|.+C + oo. |
| +++ *+. |
| .o.Oo.+H |
| ++M.B. |
| o * =. |
| + = o |
| + = = . |
| + o o |
+----[SHA256]-----+
#
Schlüssel auf den Server kopieren
Sobald ein SSH-Schlüssel erstellt wurde, kann er mit dem Befehl ssh-copy-id als autorisierter Schlüssel auf dem Server installiert werden. Sobald der Schlüssel für SSH autorisiert wurde, gewährt er den Zugriff auf den Server ohne Passwort.
Verwenden Sie folgenden Befehl, um den SSH-Schlüssel zu kopieren:
ssh-copy-id -i ~/.ssh/mykey benutzer@host
Dieser meldet sich beim Server-Host an, kopiert Schlüssel auf den Server und konfiguriert den so, dass der Zugriff gewährt wird. Beim Kopieren wird letztmalig das Passwort oder eine andere Authentifizierung für den Server verlangt.
Es wird nur der öffentliche Schlüssel auf den Server kopiert. Der private Schlüssel solltest Du niemals auf einen anderen Rechner / Server kopieren.
Jetzt teste mal den SSH Zugriff auf deinen Server. Du wirst merken, keine Passwortabfrage mehr. Einfach druff..