SSH-Schlüsselpaare für Server-zu-Server Zugriff einrichten

Für passwortlose Authentifizierung z.B. von Linux Servern beschreibe ich in diesem Artikel, wie SSH-Schlüsselpaare erzeugt und hinterlegt werden.

Dieser Artikel richtet sich an Webentwickler, Administratoren und andere IT-Professionals, welche im Umgang mit dem Linux Terminal vertraut sind.

Vorbereitung auf dem Quellserver

Auf dem Quellserver mittels SSH anmelden und prüfen, ob ein Schlüsselpaar vorhanden ist:

cd ~/.ssh/
cat id_rsa.pub

Wenn die Datei id_rsa.pub nicht vorhanden ist, einen neues Schlüsselpaar erstellen: (alle Abfragen einfach per Enter bestätigen)

ssh-keygen -t rsa -b 4096

Anschließend den Public-Key in der Console ausgeben und kopieren:

cat id_rsa.pub

Quellserver RSA-PubKey auf Zielserver in authorized_hosts bekannt machen

Je nachdem, was zur Verfügung steht, den Zielserver mittels SSH oder FTP ansprechen.

Wechsel in das Verzeichnis ~/.ssh/ um dort die Datei authorized_hosts mit einem UTF8 fähigem Editor öffnen.

Den neuen Public-Key als neue Zeile in der Datei anlegen (etwaige Umbrüche, welche durch das Kopieren aus der Console entstanden sein können) entfernen.

Vor und nach jedem Key muss eine Leerzeile eingefügt werden! Insbesondere am Dateiende muss eine Leerzeile vorhanden sein, sonst wird der letzte Key nicht verwendet.

Datei speichern und (wenn zusätzlich notwendig) auf den Server hochladen.

Anschließend solltet ihr in der Lage sein, ohne Angabe eines Passwortes per SSH vom Quellserver auf den Zielserver zuzugreifen.