wincvs howto ( fuer programmierpraktikum) Version 0.5.5 wincvs konfigurations update Dies ist ein sehr schnell erstelltes Dokufile ueber die Konfiguration von wincvs zum Zugriff auf das CVS im cip pool. Man entschuldige bitte gross und kleinschreibungsfehler, rechtschreib und inhaltliche Fehler. wer verbesserungen Vorschläge oder Fragen hat kann mich gerne per email unter timo@proescholdt.de fragen. Zwecks Forte CVS PUTTY siehe ende dieses Dokuments. Ich gebe in diesem Dokument namen und Verzeichnisse vor, wer will kann das auch woanders abspeichern, wichtig ist dass man immer wo auf die Verzeichniss verweist dann der Pfad geandert wird. Dieses Dokument hat eine Seriennummer am Anfang. Ich erhoehe Sie nach jeder Aenderung, so weiss man immer ob man auf dem neuesten Stand ist. Wenn man dieses Dokument weitergeben will, kann man das gerne machen, solange man den namen des Authors drin laesst Am besten ist es warsch. auf die url http://www.cip.informatik.uni-muenchen.de/~proescho/cvs.txt zu verweisen, da da immer die neueste Version liegt. Dieses Setup wurde von Uwe und mir gerade ausgetueftelt, ich hoffe dass es andren eine Hilfe sein kann, da die Konfiguration doch recht kompliziert ist. 0.) Beschreibung des Verfahrens. Da man (wie bekannt) nur ueber ssh von "aussen" an die Cip-pool Rechner dran kommt, muss das CVS mit einem ssh client zusammenarbeiten. Ich verwende das verbreitete Putty ( es mag ebeso mit anderen clients gehen). Die Schnitstelle zwischen wincvs und putty ist das plink programm. Damit das CVS nicht immer nach Benutzername und Passwort vom CIP Pool fragt wird eine einfachere und sichere Methode konfiguriert. Die Authentifizierung mittels Public/Private Key verfahren Dem Zugrunde liegt Zusammengefasst folgendes. Man hat einen Privaten Schluessel und einen dazu pasenden oeffentlichen Schluessel. Mit dem oeffentlichen Schluessel koennen Nachrichten an den privaten verschluesselt werden. Nur der private schluessel kann die NAchricht entschluesseln. Man "sagt" jetzt dem Cip Pool (ssh server) dass, wenn jemand mit dem privaten schluessel XXX ankommt, das man selbst ist. Man tut das indem man seinen oeffentlichen Schluessel in eine Datei auf dem Server schreibt. Versucht man nun sich einzuloggen, verschluesselt der server eine Nachricht (Challenge) an den privaten Schluessel, von dem der oeffentliche Gegenpart in der obg. Datei steht. Hat man nun den passenden Privaten Schluesel dazu, kann man die Nachricht entschluesseln, sie zurueckschicken und hat damit bewiesen, dass man der Besitzer des richgen Schluesels ist. (dann laesst einen der Server "rein"). Wichtig ist nur der Schutz des PRIVATEN Schluessels , der oeffentliche darf ueberall verteilt werden. Das WINCVS greift nun ueber plink auf putty zu. Das stellt eine Verbindung in den CIP Pool her, dann kann das WINCVS direkt mit dem CVS im CIP pool "reden". 1.) benoetigte Software putty pageant plink puttygen alles downloaden von http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html nach c:\programme\putty\ wincvs (download von http://www.wincvs.com/lander/index2.php?name=wincvs.com&term=software ) Um von Zuhause an den cvs im cip zu kommen, muessen zuerst ein paar Vorraussetzungen geschaffen werden. Dazu braucht man die Putty Software. Zum komfortablen Arbeiten (damit man nicht staendig ein Passwort eingeben muss, ausserdem zur erhoehten Sicherheit) muss man die Authentifizierung mittels eines public private key (schluessel) Paars konfigurieren. Das unterscheidet sich ein bischen von der simplen Eingabe eines Passwortes, kann aber auch sehr praktisch sein. Um von Zuhause an den cvs im cip zu kommen, muessen zuerst ein paar Vorraussetzungen geschaffen werden. Dazu braucht man die Putty Software. Zum komfortablen Arbeiten (damit man nicht staendig ein Passwort eingeben muss, ausserdem zur erhoehten Sicherheit) muss man die Authentifizierung mittels eines public private key (schluessel) Paars konfigurieren. Das unterscheidet sich ein bischen von der simplen Eingabe eines Passwortes, kann aber auch sehr praktisch sein. Diese Konfiguration ist obligatorisch, sonst geht das mit dem CVS nicht. 2.) Schritt fuer Schritt Anleitung fuer public private key authentifizierung. wer nicht weiterkommt kann auch unter http://the.earth.li/~sgtatham/putty/0.53/htmldoc/Chapter8.html#8 weitere infos finden. puttygen.exe doppelklicken. (sollte nach download in c:\programme\putty gespeichert werden) alle Voreinstellungen lassen und auf "generate" klicken. (die Maus muss ein bisschen bewegt werden). Der erzeugte Key muss gespeichert werden. (nach c:\programme\putty\), vorher eine passphrase eingegeben werden (zweimal)(damit der private schluessel geschuetzt ist , da z.B.: der Administrator auch Zugriff auf die Datei in der der Schluessel liegt hat.). Wichtig: Den Public Key der oben im Fenster steht markieren und in die Zwischenablage kopieren.(rechtsklick kopieren) Auf speichern gehen. Falls man spaeter nochmal den public key von seinem private key haben will (weil man z.B.: die Zwischenablage verloren hat ) folgendes machen. puttygen.exe aufmachen, mit load den private key laden=> pubic key steht wieder im oberen Fenster. putty.exe aufrufen. eine neue session generieren. hostname=ssh.cip.informatik.uni-muenchen.de protocoll=ssh1 die Registerkarte (links) "auth" aufrufen. dort unter "private key file for authetication" c:\programme\putty\YOUR_PRIVATE_KEY.file eingeben. auf die Registerkarte "connection" gehen dort autologin-username: eingeben. (bei mir proescho) wieder auf session zurück. Die Session unter einem Namen speichern hier "uni" (der name ist spaeter wichtig). WICHTIG NICHT DAS SPEICHERN DER SESSION VERGESSEN, DIE PUTTY OBERFLÄCHE VERLEITET DAZU OHNE ZU SPEICHERN ZU VERBINDEN oder zu beenden!!!!) jetzt einen einlogg versuch probieren. Putty.exe aufrufen. Auf die gespeicherte Session doppelklicken (hier uni genannt). Es muss eine Verbindung in die uni aufgebaut werden. Es muss noch das normale Passwort fuer den cip pool eingebeben werden. Wird das richtig eingegeben sollte der shellprompt der uni erscheinen. Wer hier nicht weiterkommt, weiterprobieren bis es klappt, wenn die Verbindung nicht steht kommt man spaeter nicht weiter. Wenn man dann im cip ist im homeverzeichniss (falls noch nicht vorhanden) das Verzeichniss ".ssh" (mit punkt) erzeugen (mkdir .ssh ). dann ein cd .ssh Dann mit dem Lieblingseditor die Datei authorized_keys (authorized_keys2 wenn ein rsa2 key generiert wurde ) (im verzeichniss .ssh) oeffnen, und den Inhalt der Zwischenablage reinkopieren ( den oeffentlichen Schluessel zum eben erzeugten Private Key ). z.B. mit vi (keine Panik) vi authorized_keys dann i druecken ein rechtsklick mir der maus 1024 37 92326622487539638132856386787619321281300044255183713 1935695348619598934051077521100421116931188847905111078477037 7810433699970285635019726620329981812667842838751522959556628 9649176084684144282805418494231090456794447694084570138751177 58779076130296063240100500848120788880811223291232227839017862 3514510113 rsa-key-20021030 sowas sollte erscheinen. (wenn der text nicht mehr in der Zwischenablage ist oben bei puttygen nachschauen wie man wieder an den public key zu seinem priv. schluessel kommt) dann ESC (escape) (es sollte beepen) :wq (doppelpunkt w q ) man ist wieder in der shell. mit logout ausloggen. Auch hier gilt, hier solange probieren bis es klappt, ohne die Authentifizierung mit public key gehts ned weiter. wer nicht weiterkommt findet im Netz beid er Doku von putty hilfe.(siehe oben) Jetzt ein paar Windows Umgebungsvariablen setzen. CVS_RSH=c:\programe\putty\plink.exe PLINK_PROTOCOL=ssh und WICHTIG c:\programme\putty in den PFAD aufnehmen. ( den pfad einfach mit ; (strichpunkt) und c:\programme\putty erweitern) unter win2000 xp geht das alles mit systemsteuerung->system->erweitert->umgebungsvariablen jetzt noch das pageant programm testen. Auf c:\programme\putty\pageant.exe klicken. Er erscheint in der systray.(rechs unten) rechtsklick -> add key (die Datei mit dem private Key hinzufuegen) (die passphrase muss eigegeben werden). Jetzt merkt sich der pageant den mit der passphrase entschluesselten private key und hält ihn im speicher. Das hat den Vorteil, dass man nicht immer wenn man eine neue Verbindung macht (z.B.: mit CVS ) die Passphrase eingeben muss. nochmal testen. Wenn der Pagant den private key im speicher hat, sollte man im putty auf die "uni" Verbingung klicken koennen und verbunden werden, ohne nach einem Passwort gefragt zu werden. 3.) Jetzt das WINCVS installieren (klick ..klick) (sollte von selber von der Hand gehen) WINCVS konfigurieren. Admin->Preferences->General CVSROOT box :ext:uni:/home/proj/dbsprogprakt02/ppteam{TEAMBUCHSTABE) (hier wird der im putty vergebene Verbingungsname wichtig "uni" ) Admin->Preferences->Ports Alternative rsh name c:\programme\putty\plink.exe dann kann auf das cvs zugegriffen werden. Unter globals sollte mann noch das "chkcout read only" wegnehmen. Der checkout geht dann ueber "Create" -> "Checkout Module" hier sollte als module catan /home/proj/dbsprogprakt02/ppteam{PPBUCHSTABE} oder catan stehen (ist warsch. auch wurscht) wichtig das lokale checkoutdirectory, dahin kommen die dateien (im plenum "lokale" sandbox genannt) wenn man auf ok klickt wird der checkout durchgefuehrt. Im loggfenster unten (eventuell groesser machen) kann man die (hoffentlich nichtvorhanden Fehlermeldungen) sehen. Im checkout directory sollten jetzt die Dateien im repository erscheinen. (dieses habe ich einmalig mit einer testdatei vom cip pool erstellt, ich weiss nicht ob das notwendig ist). Auf alle Fälle kann man jetzt mit "update und commit" (roter und gruener pfeil die markierten Dateien bearbeiten. Vom Wincvs hab ich auch keine Ahnung, steht die Verbindung erstmal kann man den umgang aber lernen hoffe ich. wer lieber forte verwendet kann auch hier mal schauen. http://www.mip.sdu.dk/~jazz/fortecvs.html die Verfahren sind hier auch (auf englisch) erklaert, allerdings im Zusammenhang mit forte) (thanks to uwe) eclipse hat auch eine excelente CVS Unterstuetzung. nimmt man eclipse her, kann man sich das WINCVS Zeug sparen, putty und konsorten braucht man trotzdem noch.