SSH-Keys erstellen und damit auf einem Server anmelden

Posted on 2024-01-09 in linux

SSH Verbindung zu Server mit SSH-Key einrichten

Manchmal möchte man einfach nicht jedes mal seinen Benuzternamen und Passwort eingeben, wenn man sich auf einem Server anmeldet. SSH-Key's sind eine gute und sichere Möglichkeit sich auf Servern zu authentifizieren. Hier eine einfach Anleitung wie man einen SSH-Key erstellen und ihn auf den Server übertragen kann.

SSH-Key erstellen

Zunächst wechseln wir in den Ordner .ssh

cd .ssh

Anschließend kann mit dem folgenden Befehl ein SSH-Key erstellt werden.

-t : Algorithmus ("ed25519" oder "rsa -b 4096" sind die zurzeit als am sichersten betrachteten) 
-f : name der Schlüsselsdatei
-C : Kommentar für den SSH-Key

ssh-keygen -t ed25519 -f sshkeyfile -C "Name, Firma, Email, weitere beschreibende Informationen des Zwecks"

SSH-Key kopieren

Mit dem cat Befehl, kann der public Key ausgelesen werden. Anschließend kann man es einfach in die Zielanwendung kopieren.

cat sshkeyfile.pub

SSH-Key auf Server kopieren

Der folgende Befehl kopiert den öffentlichen ( mit .pub am Ende!) Schlüssel auf den Server auf den wir uns später anmelden wollen. Der private Schlüssel muss immer sicher verwahrt werden und darf niemals weitergegeben werden!

sh-copy-id -i ~/.ssh/sshkeyfile.pub name@192.168.1.199

Man muss sich hier noch einmal mit Nutzername / Passwort anmelden um den öffentlichen SSH-Key auf den Server kopieren zu können.

Anmelde Alias für den Server erstellen

Im .ssh Verzeichnis befindet sich eine Datei namens config. Falls dies nicht der Fall ist kann man die Datei einfach erstellen.

Anschließend legt man dann folgenden Eintrag an:

Host meinserver1
    User meinusername
    HostName 192.168.1.199
    IdentityFile ~/.ssh/sshkeyfile

Dieser Eintrag erstellt einen Alias mit dem man auf den Server ohne Eingabe von Benutzername und IP zugreifen kann. Jetzt kann man mit:

ssh meinserver1

eine Verbindung zum Server aufbauen. Hat man bei der Erstellung des SSH-Keys eine Passphrase vergeben, muss diese beim Einloggen angegeben werden. Diese wird dann für die jeweilige Session gespeichert.