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.