Я хочу проверить / обновить код через прокси, так как мое локальное соединение медленное. Я установил туннель ssh: ssh -D 8090 user@ssh.proxy.net
для пересылки всех пакетов на мой локальный хост: 8090.
Как я могу настроить Subversion, чтобы использовать это?
Ответы:
Вы используете SSH для настройки локального сервера SOCKS, который туннелирует к вашему SSH-серверу. Вы упоминаете, что ваша причина в том, что «локальное соединение медленное», но я не вижу, как туннелирование к SSH-серверу сделает это быстрее.
В любом случае, ваша проблема в том, что Subversion может подключаться через HTTP-прокси или SSH-туннель, но не имеет понятия о SOCKS. Так что вам нужно SOCKSify Subversion, захватив все его TCP соединения и перенаправив их на прокси SOCKS.
Вместо того чтобы перефразировать тех, кто делал это раньше, я укажу вам их подробные объяснения:
Или в двух словах, в основном вырезанные из страницы Оливера:
Debian содержит два соксификатора, которые также доступны в sourceforge. Последний обновленный - это ProxyChains, и его довольно просто настроить. Большинство socksifiers работают аналогичным образом, поэтому эти инструкции должны быть разумным общим случаем. Для настройки ProxyChains вам просто нужно отредактировать $ (HOME) /. Proxychains / proxychains.conf, чтобы иметь только следующие строки:
Все, что вам нужно сделать, это «обернуть» svn в ProxyChains.
В приведенном выше примере приложение svn не было мудрым, так как его TCP-соединения с сервером Subversion были перенаправлены через ваш SOCKS-прокси ».
источник
Публикуя здесь, я нашел менее хитрый способ сделать это. Вы можете использовать Polipo для использования туннеля SSH SOCKS через HTTP-прокси, добавив в его конфигурацию следующие строки:
polipo
по умолчанию слушайте порт8123
. А затем в$HOME/.subversion/servers
создании группы для подрывных хостов вы хотите проверить с, например , если ваш хост подрывного хранилища (s) названproj1.svn.domain.tld
,proj2.svn.domain.tld
и т.д., а затем добавить следующее[groups]
раздел:И, наконец, укажите конфигурацию прокси для группы узлов, которую вы только что добавили, добавив блок для группы:
После этого вы сможете нормально работать с репозиторием, как вы привыкли работать без SSH-туннеля.
НТН
источник
Я не знаю о туннелировании с
ssh -D
использованием чего-то вродеЗатем вы можете сделать туннелирование, добавив новый протокол в Subversion с конкретным портом, на котором включен туннель. Итак, в ~ / .subversion / config добавьте строку вроде
в
[tunnels]
разделе, а затем вместо svn + ssh: //user@original.com используйте svn + pssh: // user @ localhostЕсли у вас есть рабочая рабочая копия, вы можете использовать
чтобы изменить адрес, с которым связана рабочая копия, не нужно делать новую проверку.
источник
svn co svn+ssh://code.somewhere.com/prj prj
, тоprj/
при запуске и запускеsvn switch --relocate svn+ssh://code.somewhere.com svn+pssh://localhost/
svn co svn+pssh://localhost/prj prj
Посмотрите на файлы конфигурации по умолчанию в ~ / .subversion / Есть много полезных примеров, закомментированных. Прокси будут настроены в ~ / .subversion / servers
источник
Есть случаи, когда на ПК с Windows требуется подключить svn + ssh к репозиторию SVN через прокси-сервер socks . Эта проблема может быть решена с помощью Putty, который обеспечивает функциональность SSH и может работать с различными типами прокси. Предлагаемое решение не требует локальной переадресации портов.
Что это - SVN будет использовать имя протокола, чтобы определить, что plink.exe должен использоваться для соединения, а plink будет использовать имя сеанса socks_proxy, чтобы определить, что прокси присутствует. Помните, что PATH_TO_PLINK следует вводить с косой чертой, а не с обратной косой чертой. Пример для случая, когда plink.exe находится в папке C: \ Program Files \ Putty: ssh = C: / Program Files / Putty / PLINK.EXE -load socks_proxy .
источник
Вы могли бы попробовать tsocks . С помощью tsocks вы настраиваете его для использования SSH-прокси SOCKS, а затем запускаете svn следующим образом:
источник