SSH Key Authentication über Console einrichten

Geschrieben von VALEO IT am 18. Juni 2009 in VALEO IT Solutions.

Bei größeren VMWare- oder Linux-Umgebungen ist es sinnvoll, sich ohne Kennwort anmelden zu können oder für sicherheitsrelevante Umgebungen eine erweiterte Anmeldesicherheit zu haben. Bei einem ESX Server ist ein typisches Beispiel die Verteilung von ISO-Dateien von einem ESX, über einen täglichen Cronjob, auf alle anderen Server. Meistens sind die lokalen Festplatte fast leer und CD-Images werden auf teuern SAN-Speicher abgelegt. Durch eine automatische Anmeldung wäre die Basis geschaffen ein Script zu schreiben, welches diese ISO-Dateien auf alle lokalen ESX-Platten verteilt. Dies ist natürlich nur ein Beispiel.

So kann man sich mit SSH ohne Kennwort bzw. mit Key Authentication bei einer anderen Maschine anmelden.

Auf dem eigenen Rechner (sozusagen der Client, der Management Server, etc.):

Standard-Verfahren (im Normalfall RSA mit Protokoll 2):

$ ssh-keygen

Zuerst wird gefragt, wo der Key gespeichert werden soll. Die Vorgabe (~/.ssh/id_rsa) sollte richtig sein. Aufpassen, dass dies auch unter dem Benutzer passiert, von dem man sich dann auf dem anderen Rechner aus anmelden möchte. Dann wird noch nach einer Passphrase gefragt. Mit Passphrase ist sicherer, ohne kann man sich dann entsprechend ohne weitere Eingabe auf der anderen Seite anmelden.

Man kann auch Angeben, ob RSA oder DSA Keys verwendet werden:

$ ssh-keygen -t rsa
$ ssh-keygen -t dsa

Nun muss der Public Key noch auf den entfernten Rechner (also unseren “Server”) kopiert werden:

ssh-copy-id -i ~/.ssh/id_rsa.pub user@meinserver

Dabei wird der Public Key einfach auf der anderen Seite nach ~/.ssh/authorized_keys angefügt. Falls ssh-copy nicht installiert ist, kann man das natürlich auch manuell machen. Entweder die Datei ~/.ssh/id_rsa.pub bzw. id_dsa.pub auf die andere Seite kopieren und an authorized_keys anhängen (nicht überschreiben) oder das ganze über ssh:

cat ~/.ssh/*.pub | ssh user@meinserver 'cat>>.ssh/authorized_keys'

Falls man einen anderen Port als 22 verwendet, muss dieser noch ein -p xxx direkt nach dem ssh stehen.

Bei Verwendung von Windows als Ausgangs-Station können Keys auch für PuTTY erzeugt werden oder die obere Anleitung mit Cygwin verwendet werden.

Weitere interessante Beiträge zu diesem Thema

Eine Antwort hinterlassen

Themen

Kommentare

Twitter

Posting tweet...