SSH Authentifizierung mit dem SSH Public Key einrichten

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..


Leave a Comment

Your email address will not be published. Required fields are marked *

*

*

Empfholende Artikel


Count files via the CLI in a folder (also recursive)

December 5, 2022

For example, you want to know how many files are in your Laravel vendor folder. To do this, go to the project folder with your console. Now you can count the files with find. If you don’t want a recursion and just want to know how many folders and files a certain path has, you […]

Symlinks – Was sind symbolische Links

March 11, 2022

Bei einem aktuellen Projekt bin ich auf ein außergewöhnliches deployment gestoßen. Außergewöhnlich aber nicht negativ wertend gemeint. Halt nicht “state of the art”. Stack: Amazon EC2 Server mit einem NGINX Webserver. Der Ablauf ist wie folgt. Der Order html unter dem Pfad /usr/share/nginx/html war ein Symlink auf ein Verzeichnis im selben Pfad. Nennen wir den […]

Odt Dateien in ein PDF konvertieren

January 4, 2022

Möchte man über die Commandline aus einer odt Datei eine PDF machen, brinbt libre Office von Hause auch gleich ein Headless Tool mit. libreoffice –headless –convert-to pdf textdatei.odt und schubdiwup, da ist das neue PDF.

Mit sed Text in einer Datei ändern

November 20, 2021

Wer über die CLI in einer Textdatei etwas editieren möchte greift für gewöhnlich zu nano, vim etc. Aber es gibt auch eine andere Möglichkeit in einer Textdatei etwas zu ändern. Über eine Stream (Stream Edit). Das kann zum Beispiel bei einem Deploymentscript sinnvoll sein. Wenn man zum Beispiel ein Deploymentscript hat und mit Release Ordner […]

Verschlüsseltes Zip über die Kommandozeile erstellen

November 9, 2021

Folgendes Szenario. Ihr seid via SSH auf einem Server der nicht mehr ansprechbar ist. Um die Dateien zu sichern erstellt ihr rasch ein ZIP von den Dateien die gesichert werden müssen. Das geht schnell mit: zip -re outputfileName.zip input folder/file r = rekursive = encryption

What does the -p option stand for in mkdir?

November 4, 2021

If you want to create several directories with the command mkdir you use the -p option. But what does the -p stand for? One could assume it stands for “Path”. But no. It stands for “parent”. And the flag is needed to create a parent directory if it is required. If you try to create […]