Kurzanleitung: Installation von CVS mit sicherer Datenübertragung nach dem SSH-Protokoll unter Windows (Version 2.0) Zusammenfassung Diese Anleitung zeigt, wie WinCVS so installiert und eingerichtet wird, dass man sicher auf Quellen zugreifen kann, die auf einem CVS-Hostrechner abgelegt sind. Es wird vorausgesetzt, dass der Benutzer (hier: picht) bereits ein Konto auf dem CVS-Host (hier: pc12392.mathematik.uni-marburg.de, besitzt und dort bereits CVS und OpenSSH installiert sind. Begriffe CVS ist ein Quellcode-Verwaltungssystem. Mit diesem lässt sich insbesondere die Arbeit mehrerer Entwickler an einem gemeinsamen Projekt (z. B. ein Programm oder WWW-Seiten) koordinieren. WinCVS ist eine grafische Windows- Benutzungsoberfläche für CVS. SSH ist ein Protokollstandard zur sicheren Datenübertragung in Rechnernetzen. PuTTY Installation Die Programme PuTTY (Version 0.52 oder höher), Plink, PSCP, Pageant und PuTTYgen von der PuTTY-Download-Seite herunterladen und in Verzeichnis u:\bin installieren (z.b. Home-Verzeichnis im PC-Saal auf Durban). Den Wert u:\bin der Umgebungsvariable PATH hinzufügen. Dies kann über Startmenü -> System Properties -> Environment Variables erfolgen. Als Trennzeichen zu anderen Verzeichnisnamen ist das Semikolon zu verwenden In dieser Umgebungsvariablen werden Verzeichnisse gespeichert in denen sich ausführbare Dateien befinden. Als Resultat können wir danach plink und Konsorten direkt auf der Kommandozeile starten, ohne den gesamten Pfad (u:\bin\plink.exe) anzugeben. (Im PC-Saal sind keine Änderungen an den systemweiten Umgebungsvariablen möglich. Hier muss eine neue Umgebungsvariable Benutzerspezifische Umgebungsvariable PATH angelegt werden mit dem Verzeichnis in dem die Programme sich befinden.
Zum Testen der Plink-Installation: MS-DOS-Eingabeaufforderung öffnen. :\> plink -v user@pc12392.mathematik.uni-marburg.de (Hier sollte UNBEDINGT der Hostname GENAUSO wie später in CVS angegeben werden, inkl. Domain.) Jetzt wird Plink gestartet. Evtl. wird eine Warnung ausgeben, dass der Host unbekannt ist, mit y geht's weiter. Es wird das Benutzerpasswort für Benutzer user und CVS-Hostrechner pc12392.mathematik.uni-marburg.de abgefragt. Passwort eingeben. Jetzt ist das Login erfolgt, mit logout kann man sich wieder abmelden. SSH-Schlüsselverwaltung Einen Schlüssel anlegen: Dazu puttygen starten. Der Typ des Schlüssels (SSH1-RSA, SSH2-RSA oder SSH2-DSA) hängt vom Server ab. Wenn man nicht weiß, welche Schlüsseltypen vom Server unterstützt werden, fragt man den Systemverantwortlichen oder erzeugt am besten gleich drei Schlüssel und erspart sich später Ärger. Dann einfach auf "Generate" klicken, dabei ein bisschen die Maus hin- und herschubsen (um Zufallszahlen zu erzeugen). Unser CVS-Server benutzt SSH2 RSA. Als "Key comment" einen sinnvollen Text eingeben, er dient als Merkhilfe (für den Benutzer) und sollte eine eindeutige Beschreibung des eigenen Rechners (und evtl. den Benutzernamen auf dem eigenen Rechner) beinhalten Beispiel: "picht@cvs (SSH2 RSA)".
Ziel ist es hierbei automatisiert ohne wiederholende Passwortabfrage sich am CVS-Server anzumelden um neue Dateien herunter zu laden oder einzuspielen. SSH2-RSA-Schlüssel: Den Schlüssel mit "Save" in u:\ssh\id_rsa abspeichern. Den Public Key markieren und mit dem Editor in u:\ssh\id_rsa.pub ablegen. Den öffentlichen Teil des gerade erzeugten Schlüssels auf den CVS-Server kopieren: (in DOS-Eingabeaufforderung) :\> u: (nur im PC-Saal) :\> cd ssh :\> pscp *.pub picht@pc12392.mathematik.uni-marburg.de:/home/picht/ :\> plink picht@pc12392.mathematik.uni-marburg.de
Auf dem CVS-Server: (nach Login via Putty oder Plink) $ mkdir -p.ssh $ cat id_rsa.pub >>.ssh/authorized_keys2 $ chmod -R 700.ssh $ rm id_rsa.pub $ logout Am besten eine Verknüpfung von Pageant einrichten und durch Einrichten eines Icons, siehe Bild. Aufnahme in die Autostart-Gruppe ist auch möglich. Pageant muss vor jeder WinCVS-Sitzung gestartet werden. Als Argument die zu benutzenden Schlüssel angeben, oder gleich alle drei. Erneuter Test (nachdem Pageant läuft und Passphrase eingegeben wurde): :\> plink -v user@pc12392.mathematik.uni-marburg.de
Wenn alles geklappt hat, erfolgt jetzt die Authentifizierung durch Pageant! Die Meldungen geben Hinweise, welche Schlüsseltypen vom Server unterstützt werden. Sicherheitshinweis Wenn Pageant gestartet ist, kann sich jeder, der physischen Zugang zu dem Rechner hat, sich auf dem CVS-Hostrechner einloggen ohne Passworteingabe! WinCVS Installation Die Voraussetzung für die Installation von WinCVS ist das Vorhandensein einigermassen neuer DLLs (shlwapi.dll, comdlg32.dll, comctl32.dll). Diese DLLs werden z.b. durch die Installation des Internet Explorer 5.5 auf den neuesten Stand gebracht. (Wenn man die neu installierten DLLs irgendwo sichert, kann man hinterher auch den IE wieder deinstallieren, wenn man diesen nicht mag.) WinCVS selbst ist einfach über das mitgelieferte Setup-Programm zu installieren. Direkt nach der Installation möchte WinCVS gerne noch auf eine Python- Umgebung zurückgreifen. Diese kann man unter Python.org beziehen und am besten im selben Verzeichnis wie die Putty-Programme installieren. Folgende Einstellungen sind anzupassen (Unter Admin, Preferences):
Unterhalb von Setting (rechts von ssh)
Jetzt kann WinCVS produktiv genutzt werden. Der erste Checkout der Quellen erfolgt unter ( Remote -> Checkout Module) Hierbei muss angegeben werden welches Modul wir auschecken möchten. Zur Zeit existriert nur ein Testmodul namens SoundExample. Als weiteres geben wir an, wo die Dateien lokal gespeichert werden (hier: u:\meincvs). Weitere Links: http://www.wincvs.org http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html http://www.python.org/ftp/python/2.3.3/python-2.3.3.exe