Hochschule Ulm
Bewerber

Studierende

Alumni

Unternehmen

Journalisten

Intern

V 1.6.1088.9223/


SSH-Schlüsselauthentisierung

Schlüsselgenerierung auf dem Server

Für die Schlüsselauthentisierung wird auf dem Server ein Schlüsselpaar bestehend aus privatem und öffentlichem Schlüssel erzeugt. Der öffentliche Schlüssel wird als solcher auf dem Server authorisiert und die Authentisierung des Benutzers kann über den privaten Schlüssel erfolgen.

Wer im Besitz des privaten Schlüssels ist, kann sich als der entsprechende Benutzer am SVN-Server authentisieren.

Abkürzungen und Platzhalter

ACCOUNT
Der in der Domäne verwendete Accountname
SERVER
DNS-Name des Servers:


Benutzerrepos: <ACCOUNT>.svn.hs-ulm.de


Projekte in Lehrveranstaltungen: lv.svn.hs-ulm.de
SERVER-URL
Kombination aus ACCOUNT und SERVER nach dem Schema ACCOUNT@SERVER

Erzeugen des Schlüsselpaares

Eine SSH-Terminalverbindung zum Server herstellen:

putty <SERVER-URL> (Windows)
ssh <SERVER-URL> (Linux)

Hier ein Beispiel der erfolgreichen Terminalverbindung (über putty):




Das Schlüsselpaar über die Terminalverbindung auf dem Server erzeugen und den öffenlichen Schlüssel authorisieren.

ssh-keygen -t rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys

Anmerkung: Die Passphrase schützt den Schlüssel vor nicht autorisiertem Gebrauch, allerdings muss dann anstatt des Passworts die Passphrase für die Verwendung angegeben werden.

Hier ein Beispiel der erfolgreichen Schlüsselgenerierung:




Folgende Dateien müssen jetzt im Verzeichnis ~/.ssh liegen (der Inhalt kann mit ls ~/.ssh angezeigt werden):



id_rsa - private Schlüssel


id_rsa.pub - öffentlicher Schlüssel


authorized_keys - liste mit auth. öffentlichen Schlüsseln




Verwendung des Schlüssels auf dem Client

Windows

Unter Windows sollte der private Schlüssel an geschützter Stelle plaziert werden. Hier eignet sich in der Regel ein Unterverzeichnis (Bsp. .ssh) im Userprofil (c:\documents and settings\[user] bzw. c:\Dokumente und Einstellungen\[user]).

Der private Schlüssel kann durch folgendes Kommando in der Eingabeaufforderung unter Windows auf den lokalen Rechner kopiert werden:

pscp <SERVER-URL>:/home/HS-ULM/<ACCOUNT>/.ssh/id_rsa <ZIEL>

Beispiel:

Anmerkung: Hier wurde zunächst das Verzeichnis .ssh auf dem Zielsystem angelegt.




Da die meisten Tools unter Windows auf Putty zurückgreifen ist die Konvertierung des Schlüssels in das entsprechende Format obligatorisch:



Puttygen öffnen: puttygen


Privaten Schlüssel öffnen: Conversion -> Import Private Key


Private Schlüssel als id_rsa.ppk speichern: Save Private Key







Tortoise SVN
Privaten Schlüssel mit Tortoise (Windows) verwenden:



Eigenschaften (Settings) von Tortoise öffnen


Unter Network / SSH-Client das Plink-Programm (liegt unter dem Tortoise-Installationsverzeichnis im Verzeichnis bin) mit dem Parameter -i und Pfad zu Schlüsseldatei eintragen




Anmerkung: Der Pfad zu TortoisePlink.exe und id_rsa.ppk muss eventuell absolut eingegeben werden und falls sich Blanks im Pfad befinden muss der Parameter in " gestellte werden. (Bsp: "c:\program files\tortoisesvn\bin\tortoiseplink.exe" -i "c:\documents and settings\<account>\.ssh\id_rsa.ppk")

Wenn der Schlüssel verwendet wird, sollte jetzt bei Repositoryaktionen nicht mehr nach dem Schlüssel gefragt werden.

Linux

Unter Linux gibt es einen default-Ordner für SSH-Schlüssel, in welchen der Schlüssel kopiert werden kann. Dieser befindet sich unter ~/.ssh. An dieser Stelle wird der Schlüssel in der Regel automatisch verwendet.

Der private Schlüssel kann wie folgt auf den lokalen Rechner kopiert werden:

scp <SERVER-URL>:/home/HS-ULM/<ACCOUNT>/.ssh/id_rsa <ZIEL>




PuTTY Download Page

Hochschule Ulm
89075 Ulm
infohs-ulm.de





Zurück zum Seitenanfang





Bernd Walter
© April 2007