Howto: ssh ohne Passwort

Hallo Besucher, schön dass du hier hergefunden hast. Ich hoffe dir gefällt was du hier liest und schaust ab sofort öfter vorbei. Viel Spass! Daniel

Zum Aufbau einer SSH-Verbindung zu einem Linux-Server oder Linux-Client wird für gewöhnlich ein Benutzername und ein Passwort benötigt. Doch was tut man wen man verschiedene Aufgaben auf einem Server oder Client automatisiert ausführen möchte. Ein Passwort-Prompt ist dort hinderlich, da dann der zu automatisierende Vorgang trotzdem eine Benutzereingabe erfordert. Wie kann man das Problem schnell und einfach lösen? Ich zeige es dir.

1. Authentifizierungs-Schlüssel erstellen

Auf dem Server oder Client, der sich per ssh ohne Passwort einloggen soll müssen die Authentifizierungs-Schlüssel erstellt werden. Dies geschieht mit dem Befehl:

linux-kiste:~# ssh-keygen -t dsa
Generating public/private dsa key pair.
Enter file in which to save the key (/root/.ssh/id_dsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_dsa.
Your public key has been saved in /root/.ssh/id_dsa.pub.
The key fingerprint is:
4d:d7:09:36:d9:a8:5a:14:c0:b7:7f:49:0b:f4:d9:58 root@linux-kiste

In obigen Beispiel möchte ich als root auf einen Server zugreifen. Bitte beachte jedoch, dass es ein Risiko gibt SSH-Verbindungen als root zu Servern aufzubauen. Man sollte eher einen normalen lokalen Benutzer auf dem Server erstellen der mittels sudo Befehle als root ausführen darf. Der Keygen erstellt den private und public Key im Verzeichnis deiner Wahl (Standard ist ~/.ssh). Bei passhprase einfach nur Enter drücken, also leer lassen. Gibst du eine passphrase an, so musst du diese beim Login-Vorgang eingeben und hast somit wiederum keinen automatisierten Login.

2. den erstellen Authentifizierungs-Schlüssel einspielen

Nun musst du auf dem Server oder Client, zu dem du eine Verbindung mittels ssh ohne Passwort aufbauen willst, den Public Key einspielen. Dies geschieht mit dem Befehl:

cat ~/.ssh/id_dsa.pub | ssh root@andere-linux-kiste ‘cat >> .ssh/authorized_keys

Nach Eingabe des obigen Befehls wird das letzte mal nach einem Passwort gefragt. Dein Public Key wird auf dem anderen Server am Ende der Datei .ssh/authorized_keys eingefügt.  Wenn du jetzt probierst dich per SSH ohne Passwort einzuloggen, wirst du feststellen, dass kein Passwort-Prompt mehr kommt.

3. Fragen, Anregungen und Kritik?

Hat dir mein Howto geholfen? Klappt etwas bei dir nicht? Hast du Fragen oder möchtest einfach nur Danke sagen? Dann schreibe einen Kommentar.

Vielen Dank!

Post-Picture from cauthon can be found here.

http://www.flickr.com/photos/nathanatbath/
Beiträge die für dich ebenfalls interessant sein können:

  1. Danke stand irgendwie aufm Schlauch! :)