News arrow Sicherheit arrow SSH - Die Fernwartung von überall arrow SSH Login ohne Passwort Donnerstag, 20. November 2008

SSH Login ohne Passwort
Hier wird euch erklärt, wie ihr einen Schlüssel generiert um euch per SSH einzuloggen ohne n Passwort.

Sollte man sich öfter auf einem anderen Rechner per SSH einloggen, oder ein scp durchführen, ist es schon sehr lästen jedes mal das Passwort einzugeben. Es ist aber auch möglich über einen selbst generierten Schlüssel die Authentifizierung ohne Passwort durchzuführen. Dazu muss der Server nur den von uns generierten öffentlichen Schlüssel bekommen.

Das ganze ist natürlich nur bei statischen IPs möglich, da der Schlüssel unter anderem die Adresse des Rechners enthält.

Wie gehen wir also vor
Wir erstellen als erstes einen Schlüssel, der für unsere Authentifizirung auf dem Server sorgt. Dazu geben wir folgendes in die Konsole ein:

user@linux:~$ ssh-keygen -t dsa

Dabei steht das "-t" für den Typ der Verschlüsselung. Zu empfehlen ist dsa, wer etwas anderes benutzen will, der soll dies tun, jedoch bin ich mir sicher, das es mit dsa auf jeden Fall funktioniert. Nach drücken von Enter werden wir gefrag in welches Verzeichnis die Schlüssel kommen sollen. Die Standardeinstellung sollte "/home/.ssh/id_dsa" sein. Diese verwenden wir auch.
Sobald wir nach dem Paswort gefragt werden, geben wir nichts ein. Danach noch einmal Enter drücken und schon werden die Schlüssel generiert.
Der Vorgang sieht ca. so aus:

user@linux:~$ ssh-keygen -t dsa
Generating public/private dsa key pair.
Enter file in which to save the key (/home/user/.ssh/id_dsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/user/.ssh/id_dsa.
Your public key has been saved in /home/user/.ssh/id_dsa.pub.
The key fingerprint is:
26:43:a1:4c:05:cb:55:55:8d:96:33:7a:df:af:cc:7f user@linux
user@linux:~$ 

Im Verzeichnis "~/.ssh" befinden sich jetzt drei Dateien:
known_hosts (darin sind alle Hosts enthalten die unser System kennt)
Dazu gekommen sind:
id_dsa (unser Privater DSA-Schlüssel, den wir zuvor erstellt haben)
id_dsa.pub (unser öffentlicher Schlüssel)

Wir müssen nun unseren öffentlichen Schlüssel dem Server geben, der unsere Authentifizierung ohne Passwort aktzeptieren soll. dazu kopieren wir als erstes die Datei auf den Server:

user@linux:~$ scp id_dsa.pub user@server:~/.ssh/public-key.tmp

Sobald wir den Schlüssel auf dem Server haben, müssen wir uns auf dem Server einloggen und ins Verzeichnis "~/.ssh" wechseln.

user@linux:~$ ssh user@server
user@server's password:
user@server:~$ cd .ssh
user@server:~/.ssh$ ls
public-key.tmp
user@server:~/.ssh$ 

Sollte dieses Verzeichnis nicht vorhanden sein, müssen wir es auf dem Server noch erstellen:

user@server:~$ mkdir .ssh
user@server:~$ 700 .ssh

Nun müssen wir den übertragenen Schlüssel noch in eine Datei eintragen, die vermutlich noch nicht existiert. Die Datei nennt sich "authorized_keys". Die Dateien erstellen und den Schlüssel eintragen tuen wir mit folgendem Befehl:

user@server:~$ cat ~/.ssh/public-key.tmp>> authorized_keys

Fertig! Wir können uns nun ohne die Eingabe eines Passworts auf diesem Computer per ssh einloggen und auch Dateien per "scp" kopieren.

 
Main Menu
News
Einleitung
Linux Allgemein
Über Ubuntu
Installation
kleine Hilfen
grafische Oberfläche
Die Konsole
Downloads
Erkenntnisse
Sicherheit
Video Tutorials
Neuste Erkenntnisse
LINUX LERNEN © by Kay Fichtelmann


Social Bookmarking