Ich möchte den Code über einen Proxy auschecken / aktualisieren, da meine lokale Verbindung langsam ist. Ich richte ssh tunnel ein: ssh -D 8090 [email protected]
um alle Pakete an meinen localhost weiterzuleiten: 8090.
Wie kann ich Subversion einrichten, um dies zu verwenden?
Antworten:
Sie verwenden SSH, um einen lokalen SOCKS-Server einzurichten, der mit Ihrem SSH-Server getunnelt wird. Sie erwähnen, dass Ihr Grund dafür ist, dass "die lokale Verbindung langsam ist", aber ich verstehe nicht, wie das Tunneling zu einem SSH-Server es schneller macht.
Wie auch immer, Ihr Problem ist, dass Subversion eine Verbindung über einen HTTP-Proxy oder einen SSH-Tunnel herstellen kann, aber keine Ahnung von SOCKS hat. Daher müssen Sie SOCKSify Subversion so konfigurieren, dass alle TCP-Verbindungen erfasst und an den SOCKS-Proxy umgeleitet werden.
Anstatt diejenigen zu paraphrasieren, die es zuvor getan haben, verweise ich Sie auf ihre detaillierten Erklärungen:
Oder auf den Punkt gebracht:
Debian enthält zwei Socksifier, die auch bei SourceForge verfügbar sind. Die zuletzt aktualisierte Version ist ProxyChains und lässt sich ganz einfach konfigurieren. Die meisten Socken funktionieren auf ähnliche Weise, daher sollten diese Anweisungen ein vernünftiger allgemeiner Fall sein. Um ProxyChains zu konfigurieren, müssen Sie nur $ (HOME) / .proxychains / proxychains.conf bearbeiten, um nur die folgenden Zeilen zu haben:
Alles, was Sie dann tun müssen, ist svn in ProxyChains 'wrappen'.
Im obigen Beispiel war die svn-Anwendung nicht so klug, dass ihre TCP-Verbindung zum Subversion-Server über Ihren SOCKS-Proxy umgeleitet wurde. "
quelle
Habe hier gepostet, da ich einen weniger umständlichen Weg gefunden habe, dies zu tun. Sie können Polipo verwenden , um Ihren SSH-SOCKS-Tunnel über HTTP-Proxy zu verwenden, indem Sie der Konfiguration folgende Zeilen hinzufügen:
polipo
Standardmäßig lauschen Sie auf Port8123
. Und dann in$HOME/.subversion/servers
eine Gruppe erstellt für Subversion - Hosts Sie prüfen wollen, zB wenn Ihre Subversion - Repository - Host (s) genannt werdenproj1.svn.domain.tld
,proj2.svn.domain.tld
usw., dann fügen Sie folgenden[groups]
Abschnitt:Und schließlich geben Sie eine Proxy-Konfiguration für die Gruppe der Hosts an, die Sie gerade hinzugefügt haben, indem Sie einen Block für die Gruppe hinzufügen:
Danach sollten Sie in der Lage sein, das Repository normal zu bearbeiten, wie Sie es früher ohne SSH-Tunnel getan haben.
HTH
quelle
Ich weiß nicht, wie man Tunnel benutzt,
ssh -D
aber ich benutze so etwasSie können dann tunneln, indem Sie ein neues Protokoll zu Subversion mit dem bestimmten Port hinzufügen, auf dem der Tunnel ist. Fügen Sie also in ~ / .subversion / config eine Zeile wie folgt hinzu
[tunnels]
Verwenden Sie im Abschnitt und dann anstelle von svn + ssh: //[email protected] svn + pssh: // user @ localhostWenn Sie eine vorhandene Arbeitskopie haben, können Sie diese verwenden
um die Adresse zu ändern, mit der die Arbeitskopie verknüpft ist, ohne dass eine neue Prüfung durchgeführt werden muss.
quelle
svn co svn+ssh://code.somewhere.com/prj prj
, dann geht inprj/
und läuftsvn switch --relocate svn+ssh://code.somewhere.com svn+pssh://localhost/
das WC zu sehen aktualisieren , als ob es über bekommen hattesvn co svn+pssh://localhost/prj prj
Schauen Sie sich die Standardkonfigurationsdateien unter ~ / .subversion / an. Es sind viele nützliche Beispiele auskommentiert. Proxies würden in ~ / .subversion / servers eingerichtet
quelle
Es gibt Fälle, in denen es auf einem Windows- PC erforderlich ist , svn + ssh-Verbindung zum SVN-Repository über den Socks-Proxy-Server herzustellen . Dieses Problem kann mit Putty behoben werden, das SSH-Funktionalität bietet und mit verschiedenen Proxy-Typen arbeiten kann. Die vorgeschlagene Lösung erfordert keine lokale Portweiterleitung.
Was ist das? SVN verwendet den Protokollnamen, um zu erkennen, dass plink.exe für die Verbindung verwendet werden soll, und plink verwendet den Sitzungsnamen socks_proxy , um zu identifizieren, dass ein Proxy vorhanden ist. Denken Sie daran, dass PATH_TO_PLINK mit einem Schrägstrich und nicht mit einem Backslash eingegeben werden sollte. Beispiel für den Fall, dass sich plink.exe im Ordner C: \ Programme \ Putty befindet: ssh = C: / Programme / Putty / PLINK.EXE -load socks_proxy .
quelle
Sie könnten es mit Socken versuchen. Mit tsocks konfigurieren Sie es so, dass es die SOCKS-Proxy-SSH-Einstellungen verwendet, und führen dann svn folgendermaßen aus:
quelle