Проверка SVN + SSH через VPN с использованием черепахового SVN, сбой Smartsvn

Сведения о системе и подключении

Я использую 64-разрядную систему под управлением Windows 7. У меня установлены 64-разрядная версия Open VPN и Tortoise SVN.

Репозиторий находится в удаленной системе, и мы подключаемся с помощью VPN.

Что я уже сделал

Я выполнил необходимые шаги, чтобы инициировать VPN-подключение -

  • Добавлены некоторые файлы конфигурации для конкретного проекта в папку конфигурации пути установки Open VPN. Взял эти файлы из рабочей настройки членов команды.
  • Инициировано открытое VPN-подключение с использованием пользователя.
  • запустил Putty's Pageant.exe, выбрал файл .ppk и ввел парольную фразу.

До сих пор все в порядке.

Затем я перешел в локальный каталог и попытался проверить URL-адрес удаленного репозитория с помощью Tortoise SVN. Но выдает следующую ошибку -

Ошибка оплаты

To better debug SSH connection problems, remove the -q option from 'ssh' in the [tunnels] section of your Subversion configuration file.
Network connection closed unexpectedly

Ниже приведено содержимое раздела [tunnels] моего конфигурационного файла Subversion:

### Section for configuring tunnel agents.
[tunnels]
### Configure svn protocol tunnel schemes here.  By default, only
### the 'ssh' scheme is defined.  You can define other schemes to
### be used with 'svn+scheme://hostname/path' URLs.  A scheme
### definition is simply a command, optionally prefixed by an
### environment variable name which can override the command if it
### is defined.  The command (or environment variable) may contain
### arguments, using standard shell quoting for arguments with
### spaces.  The command will be invoked as:
###   <command> <hostname> svnserve -t
### (If the URL includes a username, then the hostname will be
### passed to the tunnel agent as <user>@<hostname>.)  If the
### built-in ssh scheme were not predefined, it could be defined
### as:
# ssh = $SVN_SSH ssh
### If you wanted to define a new 'rsh' scheme, to be used with
### 'svn+rsh:' URLs, you could do so as follows:
# rsh = rsh
### Or, if you wanted to specify a full path and arguments:
# rsh = /path/to/rsh -l myusername
### On Windows, if you are specifying a full path to a command,
### use a forward slash (/) or a paired backslash (\\) as the
### path separator.  A single backslash will be treated as an
### escape for the following character.

Это тот раздел, на который ссылается ошибка? Я не вижу здесь ни одной опции -q. Что следует сделать сейчас.

Примечание. Я задал тот же вопрос и в Superuser — https://superuser.com/q/295439/50101. Никаких ответов я там не получил. Дайте мне знать, если это должно быть удалено/закрыто.

Обновление
Я пытался использовать Smartsvn 6. Пока работает графический интерфейс Openvpn и проводится конкурс шпатлевки, я выбрал «аутентификацию с открытым/закрытым ключом», выбрал файл .ppk и ввел парольную фразу. Я получаю эту ошибку -

An error occurred while processing an SVN command 
File '\path\to\key-file.ppk' is not a valid OpenSSH DSA or RSA private key file.

Любые идеи? Почему эта ошибка? Как это можно исправить или какие-либо указатели? У товарищей по команде есть 32-битная система под управлением Windows XP, и они могут оформить заказ. В то время как у меня и еще одного нового участника есть 64-битная система под управлением Windows 7, и мы столкнулись с той же проблемой.

Дополнительные сведения
URL-адрес репозитория, используемый для оформления заказа, выглядит следующим образом: svn+ssh://@...com/var/svn/reposito‌​ries//

Товарищи по команде никогда не генерировали никаких дополнительных ключей или чего-то еще. Они просто помещают некоторые файлы в свою открытую папку конфигурации VPN (некоторые .ppk, .key, .crt и некоторые открытые файлы конфигурации vpn).

Обновление 3
При создании ключа RSA/DSA с помощью puttygen есть 3 параметра в разделе "тип ключа для создания" -> 1. SSH-1(RSA) 2. SSH-2 RSA 3. SSH-2 DSA. Я выбрал SSH-1(RSA). нажал сохранить закрытый ключ. Затем снова проделайте те же шаги, чтобы оформить заказ. Я также выбрал Tortoise SVN-> settings-> Network -> SSH Client -> просмотрел там файл pageant.exe. Все еще безуспешно с подсказками checkout-> «Не удалось загрузить этот ключ (невозможно открыть файл)», а затем та же ошибка -

To better debug SSH connection problems, remove the -q option from 'ssh' in the [tunnels] section of your Subversion configuration file.
Network connection closed unexpectedly

Обновление 4
Один новый товарищ по команде (работающий точно на такой же 64-разрядной системе под управлением Windows 7, как и я) успешно выполнил проверку с удаленного сервера. Пожалуйста, проверьте этот вопрос для получения дополнительной информации a-work">Правильный способ отладки проверки SVN+SSH при сбое VPN? Как сравнить с рабочей установкой?


person Sandeepan Nath    schedule 13.06.2011    source источник
comment
Как на самом деле хранится репозиторий? Можем ли мы взглянуть на URL? Кажется странным использовать SVN+SSH поверх VPN.   -  person artbristol    schedule 13.06.2011
comment
@artbristol — URL-адрес репозитория, используемый для оформления заказа, имеет вид svn+ssh://‹username›@‹something›.‹somethingelse›.‹sitename›.com/var/svn/repositories/‹projectname›/ Другие участники команда (использующая 32-битную систему под управлением Windows XP) может оформить заказ.   -  person Sandeepan Nath    schedule 21.06.2011
comment
Любые указатели, ребята? Пожалуйста, скажите что-нибудь... эта тишина меня убивает... :)   -  person Sandeepan Nath    schedule 23.06.2011
comment
ppk указывает на ключ, который был создан/использован с помощью шпатлевки? Вам нужно преобразовать этот ключ в правильный ключ RSA/DSA.   -  person mkro    schedule 24.06.2011
comment
@mkro, не могли бы вы уточнить это в отношении файлов, которые у меня есть - некоторые .ppk, .key, .crt и некоторые открытые файлы конфигурации vpn   -  person Sandeepan Nath    schedule 27.06.2011
comment
@artbristol - пожалуйста, проверьте мой вопрос stackoverflow.com/questions/6776118/   -  person Sandeepan Nath    schedule 21.07.2011


Ответы (2)


Как заявляет mkro, сертификат .ppk уникален для Putty. В Putty есть очень удобный инструмент для переключения между сертификатами DSA, RSA и PPK, который вы можете загрузить здесь. Почти каждый инструмент, который вы будете использовать (кроме Putty), который устанавливает соединения SSH, будет использовать пару ключей DSA или RSA.

Если вы работаете в Linux, вы можете либо загрузить исходные пакеты putty и собрать их самостоятельно, чтобы получить копию puttygen, либо, если вы используете дистрибутив, который предоставляет менеджер пакетов, вы можете попробовать установить его. Например, в Ubuntu вы должны сделать:

$ sudo apt-get install putty-tools
$ puttygen <your.ppk> -O private-openssh -o <whatever you want to name it>
person TkTech    schedule 24.06.2011
comment
@TkTech, @mkro - я использую Putty в системе Windows 7. Прямо сейчас у меня есть файлы ppk, взятые из рабочей установки товарищей по команде. Так мне все еще нужно преобразовать в ключи RSA/DSA? Я не думаю, что нам нужно просить людей, управляющих сервером SVN, прислать нам какие-то ключи. Правильно ли я предполагаю, что все, что нужно сделать сейчас, должно быть сделано на нашей локальной установке, верно? - person Sandeepan Nath; 27.06.2011
comment
Да, вам нужно преобразовать ключи. Я не могу ответить, все ли, что вам нужно изменить, является локальным, но, пожалуйста, попробуйте сначала преобразовать ключи. - person mkro; 27.06.2011
comment
@mkro - я понятия не имею, что я сделал, но, как вы сказали, я попытался преобразовать тот же файл ppk, который мои товарищи по команде используют для подключения с помощью шпатлевки. Putty-›Загрузить существующий файл закрытого ключа -> Загрузить -> ввел парольную фразу для файла -> затем он дает возможность сохранить файлы закрытого ключа и открытого ключа. Я на правильном пути? Моим товарищам по команде не нужно было всего этого делать. Кроме того, с моими ограниченными знаниями о шифровании с открытым/закрытым ключом на практике я не могу понять, как это происходит... - person Sandeepan Nath; 28.06.2011
comment
хм, подождите: я правильно понимаю, что ваши товарищи по команде могут использовать ppk-ключи для доступа к репозиторию, но у вас это не работает? Если да, то что ваши товарищи по команде делают по-другому? Можно ли узнать, какую конфигурацию они используют? - person mkro; 29.06.2011
comment
@mkro - вы правильно поняли ... Насколько я знаю, разница только в том, что у нас - Windows 7 на 64-битной версии, у них - Windows XP на 32-битной версии. Какие еще конфигурации я должен проверить? - person Sandeepan Nath; 29.06.2011
comment
Отсюда действительно трудно сказать. Вы уверены, что можете настроить соединения vpn/ssh с реальным сервером Subversion? Вы пробовали, что предлагает последнее сообщение об ошибке (удалить -q)? - person mkro; 29.06.2011
comment
@mkro - VPN-соединение работает нормально. Как проверить ssh-соединение с реальным сервером Subversion? Пожалуйста, проверьте мой вопрос stackoverflow.com/questions/6776118/ - person Sandeepan Nath; 21.07.2011

Наконец-то решил проблему сам! Я должен был запустить OpenVPN GUI от имени администратора.

Я сделал это, и это сработало -

Меню «Пуск» -> Щелкните правой кнопкой мыши «OpenVPN GUI» в списке программ -> все остальное то же самое, выберите профиль и нажмите «Подключиться» (OpenVPN).

Как я это сделал
Я пробовал устанавливать разные версии OpenVPN и один раз поставил флажок "Открыть, читай меня". И он открыл ридми, и там было написано что-то вроде «При использовании Windows Vista вам нужно запустить графический интерфейс OpenVPN от имени администратора». Я подумал, позвольте мне тоже попробовать это, хотя я использую систему Windows 7, и это сработало! Какое облегчение. Надеюсь, это поможет другим.

person Sandeepan Nath    schedule 08.08.2011