{"id":171,"date":"2007-02-02T13:01:10","date_gmt":"2007-02-02T12:01:10","guid":{"rendered":"https:\/\/bob-team.de\/wordpress\/?p=171"},"modified":"2007-10-14T15:05:13","modified_gmt":"2007-10-14T13:05:13","slug":"ssh-subversion-und-windows","status":"publish","type":"post","link":"https:\/\/bob-team.de\/wordpress\/2007\/02\/02\/ssh-subversion-und-windows\/","title":{"rendered":"SSH, Subversion und Windows"},"content":{"rendered":"<p>Dieser kleine Artikel beschreibt, wie man ein Subversion-Repository unter WindowsXP einrichtet und per SSH gesichert nutzt.<\/p>\n<h3>Subversion<\/h3>\n<p>Die Datei <a href=\"http:\/\/subversion.tigris.org\/servlets\/ProjectDocumentList?folderID=91\"><em>svn-win32-1.4.2.zip<\/em><\/a> herunterladen und nach <em>c:\\programme<\/em> entpacken. Der Programm-Pfad muss der Umgebungsvariable <em>PATH<\/em> hinzugef\u00fcgt werden. Dazu \u00fcber das Kontextmen\u00fc vom Arbeitsplatz-Icon die Eigenschaften vom System \u00f6ffnen und im Bereich <em>Erweitert<\/em> die <em>Umgebungsvariablen<\/em> anpassen. <em>PATH<\/em> findet sich in der unteren H\u00e4lfte. Das Verzeichnis <em>C:\\Programme\\svn-win32-1.4.2\\bin<\/em> muss mit Hilfe eines Semikolons vom bisherigen Wert getrennt eingegeben werden.<\/p>\n<p><img decoding=\"async\" id=\"image177\" src=\"https:\/\/bob-team.de\/wordpress\/wp-content\/uploads\/2007\/02\/path.png\" alt=\"Screenshot Systemeigenschaften\" \/><\/p>\n<p>M\u00f6chte man die Ausgabe von deutschen Sonderzeichen (Unicode) in der Windows-Konsole (CP850) verhindern, kann man den Befehl &#8222;SET LC_MESSAGES=C&#8220; absetzen. Die Texte werden dann auf englisch ausgegeben.<\/p>\n<pre>sc create svnserve binpath= \"c:\\svnserve\\svnserve.exe --service \r\n--root m:\\subversion\" \r\ndisplayname= \"Subversion\" depend= tcpip start= auto<\/pre>\n<p>Nun ist es an der Zeit ein erstes Repositoty anzulegen. Wichtig! Ein Repository darf nicht auf einem Netzlaufwerk abgelegt werden. Auch nicht, wenn dieses auf einen Laufwerksbuchstaben gemappt ist. In unserem Beispiel liegen alle Repositories unterhalb von <em>m:\\subversion<\/em>. Mit den folgenden 3 Befehlen wird das Verzeichnis anlegen und ein erstes Repository geschaffen.<\/p>\n<pre>cd m:\\\\subversion\r\nmd MyFirstProject\r\nsvnadmin create --fs-type bdb MyFirstProject<\/pre>\n<p>Im neuen Repository haben alle (auch ohne Anmeldung) das Recht zu lesen. Im n\u00e4chsten Schritt werden die Rechte so erweitert, das angemeldete Benutzer schreiben d\u00fcrfen. Die Standard-Konfigurationsdateien wurden von <em>svnadmin<\/em> unter <em>M:\\Subversion\\MyFirstProject\\conf<\/em> abgelegt.<\/p>\n<p>Die Datei <em>svnserve.conf<\/em> legt grundlegende Einstellungen f\u00fcr den Zugriff per SVN fest. Wir bestimmen, das jeder lesen kann und nur angemeldete Benutzer schreiben d\u00fcrfen.<\/p>\n<p><code>[general]<br \/>\nanon-access = read<br \/>\nauth-access = write<br \/>\npassword-db = passwd<br \/>\nauthz-db = authz<br \/>\nrealm = My First Repository<\/code><\/p>\n<p>In der <em>passwd<\/em> wird jedem Benutzer ein Kennwort zugewiesen.<\/p>\n<p><code>[users]<br \/>\nmb = mbGeheim<br \/>\nos = osGeheim<\/code><\/p>\n<p>Welcher Benutzer welche Ressourcen des Repository nutzen kann, wird in der Datei <em>authz<\/em> festgelegt.<\/p>\n<p><code>[groups]<br \/>\nauthors = mb,os<\/p>\n<p>[\/]<br \/>\n@authors = rw<br \/>\n* = r<\/code><\/p>\n<p>Alle drei Dateien sind gut dokumentiert und erm\u00f6glichen weit mehr als in diesem kleinen Beispiel gezeigt.<\/p>\n<h3>CopSSH<\/h3>\n<p>F\u00fcr den gesicherten Zugriff installieren wir <a href=\"http:\/\/www.itefix.no\/phpws\/index.php?module=pagemaster&#038;PAGE_user_op=view_page&#038;PAGE_id=12&#038;MMN_position=149:149\"><em>CopSSH<\/em><\/a>. Einfach dem Installationsassistenten folgen und anschlie\u00dfend einen Benutzer freischalten. Dazu steht im Start-Men\u00fc ein entsprechendes Tool zur Verf\u00fcgung.<\/p>\n<p>F\u00fcr den Verbindungsaufbau ohne Kennwortabfrage wird ein Schl\u00fcsselpaar mit <a href=\"http:\/\/www.chiark.greenend.org.uk\/~sgtatham\/putty\/download.html\"><em>Puttygen<\/em><\/a> erzeugt.<\/p>\n<p><img decoding=\"async\" id=\"image175\" src=\"https:\/\/bob-team.de\/wordpress\/wp-content\/uploads\/2007\/02\/puttygen.png\" alt=\"Screenshot PuttyGen\" \/><\/p>\n<p>Der \u00f6ffentliche Schl\u00fcssel (&#8222;Public Key&#8220;) kann direkt aus <em>Puttygen<\/em> kopiert und der Datei <em>C:\\Programme\\copSSH\\home\\mb\\.ssh\\authorized_keys<\/em> angeh\u00e4ngt werden (<em>mb<\/em> entspricht dem Benutzer und damit dem Login-Namen f\u00fcr den das Schl\u00fcsselpaar erzeugt wurde). Meldet man sich per SSH mit einem privaten Schl\u00fcssel an, der zu einem \u00f6ffentlichen Schl\u00fcssen in der <em>authorized_keys<\/em> passt, dann wird der Zugriff gew\u00e4hrt.<\/p>\n<p><img decoding=\"async\" id=\"image174\" src=\"https:\/\/bob-team.de\/wordpress\/wp-content\/uploads\/2007\/02\/authorized_keys.png\" alt=\"Screenshot Explorer\" \/><\/p>\n<p>Fehlt zum Schluss nur noch der Tunnel f\u00fcr den gesicherten Zugriff per SSH. Wir verwenden <a href=\"http:\/\/www.chiark.greenend.org.uk\/~sgtatham\/putty\/download.html\"><em>Putty<\/em><\/a> und legen f\u00fcr den bequemen Zugriff eine neue Session an. Der Hostname entspricht der Ip-Adresse unseres Zielrechners (auf dem wir CopSSH installiert haben), im Bereich <em>Connection &raquo; Data<\/em> muss der <em>Auto-login username<\/em> gesetzt werden und der private Schl\u00fcssen wird im Bereich <em>Connection &raquo; SSH &raquo; Auth<\/em> hinterlegt.<\/p>\n<p>Im Abschnitt <em>Connection &raquo; SSH &raquo; Tunnel<\/em> wird der eigentliche Tunnel konfiguriert. Alle Pakete f\u00fcr den <em>Source Port<\/em> 3690 werden an <em>Destination<\/em> 192.168.51.51:3690 weitergeleitet. Wobei die Ip-Adresse entsprechend anzupassen ist. Sie entspricht der internen Ip des Zielrechners.<\/p>\n<p><img decoding=\"async\" id=\"image178\" src=\"https:\/\/bob-team.de\/wordpress\/wp-content\/uploads\/2007\/02\/tunnel.png\" alt=\"Screenshot Putty Tunnel\" \/><\/p>\n<p>Sind alle Einstellungen gemacht, kann die Session im gleichnamigen Bereich gespeichert werden und mit <em>Open<\/em> eine erste Verbindung zum Zielrechner aufgebaut werden.<\/p>\n<p>Hat alles geklappt, kann &#8211; so lange wie die Verbindung besteht &#8211; das eingerichtete Repository verschl\u00fcsselt mit der URL <em>svn:\/\/localhost\/MyFirstProject<\/em> genutzt werden. <\/p>\n","protected":false},"excerpt":{"rendered":"<p>Dieser kleine Artikel beschreibt, wie man ein Subversion-Repository unter WindowsXP einrichtet und per SSH gesichert nutzt. Subversion Die Datei svn-win32-1.4.2.zip herunterladen und nach c:\\programme entpacken. Der Programm-Pfad muss der Umgebungsvariable PATH hinzugef\u00fcgt werden. Dazu \u00fcber das Kontextmen\u00fc vom Arbeitsplatz-Icon die Eigenschaften vom System \u00f6ffnen und im Bereich Erweitert die Umgebungsvariablen anpassen. PATH findet sich in [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7,6],"tags":[],"class_list":["post-171","post","type-post","status-publish","format-standard","hentry","category-netzwerk","category-software","entry"],"_links":{"self":[{"href":"https:\/\/bob-team.de\/wordpress\/wp-json\/wp\/v2\/posts\/171","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bob-team.de\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/bob-team.de\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/bob-team.de\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/bob-team.de\/wordpress\/wp-json\/wp\/v2\/comments?post=171"}],"version-history":[{"count":0,"href":"https:\/\/bob-team.de\/wordpress\/wp-json\/wp\/v2\/posts\/171\/revisions"}],"wp:attachment":[{"href":"https:\/\/bob-team.de\/wordpress\/wp-json\/wp\/v2\/media?parent=171"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/bob-team.de\/wordpress\/wp-json\/wp\/v2\/categories?post=171"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/bob-team.de\/wordpress\/wp-json\/wp\/v2\/tags?post=171"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}