Linux

Erste Schritte mit der SSH-Schlüssel-Verwaltung

Wenn Sie eine Verbindung zu einem Server über die Security-Shell (SSH) herstellen möchten, werden Sie nach deinem Passwort gefragt, und nachdem Sie sich authentifiziert haben, sind Sie mit der anderen Maschine verbunden. Anstatt aber ein Passwort zu verwenden, können Sie sich stattdessen aber auch mit einem öffentlichen Schlüssel authentifizieren. Der Hauptvorteil dieser Methode ist die zusätzliche Sicherheit, da dein Systemkennwort während des Verbindungsvorgangs zum Server nicht übertragen wird. Wenn Sie ein SSH-Schlüsselpaar erstellen, erzeugen Sie zwei Dateien:

  • einen öffentlichen Schlüssel (public key) und
  • einen privaten Schlüssel (private key).

Diese beiden Dateien sind mathematisch miteinander verknüpft. Ohne jetzt zu tief in die Materie der Kryptografie vorzudringen, ist es eventuell wertvoll zu wissen, dass man vom öffentlichen Schlüssel keinerlei Rückschlüsse auf den privaten Schlüssel erhalten kann.  Das heißt, dass Sie den öffentlichen Schlüssel jederzeit aus der Hand geben können. Den darf jeder sehen, no problem. Aber den privaten Schlüssel behalten Sie immer bei sich.

Wenn Sie sich also mit einem Server verbinden, der Ihren öffentlichen Schlüssel hat, weiß er automatisch, dass Sie es sind, weil Sie (und nur Sie!) den dazu passenden privaten Schlüssel haben.

Let's open the terminal

Sie beginnen damit, indem Sie ein Schlüsselpaar generieren. Dazu verwenden Sie auf dem Rechner, mit dem Sie sich zum Server verbinden wollen, den folgenden Befehl:

				
					ssh-keygen
				
			

Zuerst werden Sie nach dem Verzeichnis gefragt, in dem Sie ihre beiden Schlüsseldateien speichern möchten. Das Standardverzeichnis hierfür liegt auf /home/.ssh.

Als nächstes werden Sie nach einer Passphrase gefragt. Die Passphrase ist kein Muss, Sie können sie also auch leer lassen, aber ich empfehle ihnen dennoch eine zu verwenden. Auch sollte sie anders lauten als Ihr Benutzerpasswort. Das ist zwar ein zusätzlicher Arbeitsschritt, erhöht aber die Sicherheit; und Sicherheit geht immer vor.

Dieser Befehl führt mehrere Aktionen aus:

  • Falls das Verzeichnis .ssh noch nicht existiert, wird es erzeugt.
  • In diesem Verzeichnis wird eine Datei namens id_rsa angelegt (private key) und
  • eine weitere Datei namens id_rsa_pub (public key).

Die Datei id_rsa ist nun ihr privater Schlüssel. Auch auf die Gefahr hin, dass ich mich wiederhole, aber diesen privaten Schlüssel sollten Sie niemals aus der Hand geben. Never ever! Auch nicht auf einem externen Medium, wie z.B. einem USB-Stick oder ähnliches speichern. Sollte ihr privater Schlüssel in fremde Hände gelangen, können Sie ihm nicht mehr vertrauen. Standardmäßig ist der private Schlüssel Eigentum des Benutzers, der ihn erstellt hat, mit Schreib- und Leseberechtigung nur für seinen Besitzer.

Der öffentliche Schlüssel kann aber bedenkenlos Ihren Computer verlassen und muss nicht nicht so stark gesichert werden. Seine Berechtigungen sind lockerer. Er kann von jedem gelesen werden und der Besitzer verfügt über Schreibrechte.

Der öffentliche Schlüssel ist der Schlüssel, der tatsächlich auf andere Server kopiert wird, damit Sie sich mit einem solchen Schlüsselpaar anmelden können. Wenn Sie sich bei einem Server anmelden, auf dem Ihr öffentlicher Schlüssel abgelegt ist, prüft er, ob er mathematisch mit ihrem privaten Schlüssel übereinstimmt. Wenn das der Fall ist, steht einer Anmeldung nichts im Weg. Sie werden auch nach Ihrer Passphrase gefragt, wenn Sie diese bei der ersten Erstellung festgelegt haben.

Aber bevor Sie ihren Schlüssel tatsächlich verwenden können, müssen Sie ihn auf den Server kopieren, mit dem Sie sich verbinden wollen. Hierfür verwenden Sie den Befehl ssh-copy-id:

 

				
					ssh-copy-id ~/.ssh/id_rsa.pub 192.168.0.100
				
			

(Die IP-Adresse an Ihren Server anpassen.)

Sie werden nun aufgefordert, sich mit ihrem Passwort anzumelden und danach wird der öffentliche Schlüssel auf den Server nach ~/.ssh/authorized_keys kopiert. Falls das Verzeichnis noch nicht existiert, wird es erzeugt. Der Schlüssel wird in der Datei authorized_keys am Ende angefügt. Sollten Sie über mehrere Schlüssel verfügen, weil Sie sich z.B. von mehreren Computern auf denselben Server via SSH verbinden möchten, stehen diese Schlüssel dann jeweils in einer Zeile.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.