Inhaltsverzeichnis

SSH - Key Authentifizierung

Version 1.0
Stand: 22.05.2009

Author: Centro
E-Mail: centro@tux-town.ath.cx
Jabber: centro@jabberarea.de


1. Grundsätzliches

Dieses Howto beschreibt die Installation und Bedienung auf einem Server.
Wir gehen hier von einem Linux Server und Linux Client aus
Die Version für Linux Server und Windows CLient (Putty) findet sich bei den Debian Howtos
Bevor ihr loslegt, beachtet bitte die folgenden Regeln:

  1. lest das Howto erstmal durch: 'lesen - verstehen - handeln'
  2. Eigenverantwortlichkeit


DU alleine bist für die komplette Installation, Absicherung und Wartung des Servers verantwortlich!!!

2. Erstellen des RSA Schlüssels auf dem Server

Diese Anleitung ist eins zu eins kopierbar für die Erstellung eines RSA Authkeys um von einem Linuxsystem auf ein Linuxsystem zu connecten. Eine Anleitung für Putty bzw Windows zu Linuxverbindungen findet man weiter unten!

Wir loggen uns auf unserem Linuxsystem welches wir per SSH Fernsteuern möchten ein und lassen den RSA Key erstellen

ssh-keygen -t dsa

Jetzt wurden zwei Dateien erstellt die sich unter dem jeweiligen Userverzeichnis unter .ssh befinden

~/.ssh/id_dsa
~/.ssh/id_dsa.pub

Die Datei id_dsa.pub is die Datei welche auf unseren client muss. Die Datei id_dsa.pub muss zugleich kopiert werden in authorized_keys !
Somit führt man den Kopiebefehl auf dem Server / Linuxsystem wie folgt durch

cp id_dsa.pub authorized_keys

Die benötigten Keys sind nun erstellt!

3. Übertragen des Schlüssels zum Client

Die Datei id_dsa.pub ist die Datei mit welcher wir uns auf dem Linuxsystem authentifizieren. Sie muss gesichert vom Server auf den Client übertragen werden.
Hier gibt es sicher viele Wege, FTP ist sicher im Standardmode die schlechteste.
Ich würde es per rsync empfehlen. Gerne kann aber auch scp genutzt werden.
Der Befehl um den Key vom Server zu Client zu kopieren wie folgt:

rsync -e "ssh -p 22" -avz ~/.ssh/id_dsa.pub root@client:/root/.ssh/
rsync -e "ssh -p 22" -avz ~/.ssh/id_dsa root@client:/root/.ssh/

4. Einstellungen in der sshd_config

Um den Key nun zu nutzen muss der SSH Server auf unserem Linuxsystem wissen wo er nachsehen kann ob der ankommende Schlüssel berechtigt ist eine Verbindung auf zu bauen!
Diese Datei ist unsere authorized_keys
Hierzu muss in der Datei /etc/ssh/sshd_config die Datei so abgeändert werden:

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile     %h/.ssh/authorized_keys

Nach erfolgreichem Test mit einer Key Auth Verbindung kann auch die Loginmethode mit Passwort in selbiger Datei verboten werden.

# Change to no to disable tunnelled clear text passwords
PasswordAuthentication no


Fertig! - Wer jetzt alles richtig gelesen und umgesetzt hat kann sich jetzt mit dem client ohne Passwort auf den Server einloggen!
Hierzu einfach wie gewohnt auf der console des Linuxsystems einloggen!

ssh root@SERVER -p 22

… und schwups is man ohne Passwortabfrage am System angemeldet!

Dieser Vorteil kann dann in einem Cronauftrag vom Backupserver zum Server genutzt werden welcher per Rsync nächtlich sein Backup abholen soll! - Eine Anleitung für Rsync ist ebenfalls in diesem Wiki zu finden!

zurück zum Seitenindex