Подтвердить что ты не робот

SVN + SSH и Sourceforge

Я новичок в Sourceforge и SVN (SilkSVN для Windows).

Мне удалось проверить проект, используя

svn co --username=zeroth123 svn://[email protected]/p/stddecimal/code/trunk stddecimal-code

Однако каждый раз, когда я пытаюсь использовать ssh (поэтому я могу проверить, например), он терпит неудачу с

> svn co --username=zeroth123 svn+ssh://[email protected]/p/stddecimal/code/trunk stddecimal-code
svn: E720087: Unable to connect to a repository at URL 'svn+ssh://[email protected]/p/stddecimal/code/trunk'
svn: E720087: Can't create tunnel: The parameter is incorrect.

Я установил SVN_SSH, чтобы указать на мой полностью квалифицированный plink.exe, и это не имеет никакого значения. Я также попытался изменить его на junk.exe и не получил ничего другого, поэтому я не думаю, что мы даже смотрим на SVN_SSH, который исчерпывает все советы, которые я смог найти в Sourceforge и другие форумы.

Для записи я являюсь администратором проекта и поэтому имею права на запись (или, по крайней мере, думаю, что я делаю!)

Любые идеи?

4b9b3361

Ответ 1

`% SVN_SSH% необходимо установить правильно, и ключ SSH необходимо зарегистрировать в Sourceforge.

Обратите внимание, что новые проекты Sourceforge по умолчанию версии 2.0, а 99% документации Sourceforge для версии 1.0 и выглядит устаревшей.

В этих инструкциях предполагается, что у вас установлены инструменты SVN и PuTTY, и что вы можете успешно получить доступ к своему проекту с использованием незащищенного протокола, например, команда стиля svn checkout svn://[email protected]/p/PROJECT/code/trunk PROJECT-code должна работать.

В этих инструкциях объясняется, как сделать то же самое с svn checkout svn+ssh://..., который необходим для доступа к записи в Sourceforge.

  • Установите %SVN_SSH% на полный путь к вашему SSH-клиенту. Например. setx SVN_SSH "C:/Program Files (x86)/PuTTY/plink.exe"

    • SVN ожидает косой черты или двойные обратные слэши в пути
    • Возможно, вам придется открыть окно cmd
    • Протестируйте, введя %SVN_SSH% в приглашении и подтвердите, что вы получите экран справки по вашим программам ssh (или любое другое поведение, которое вы ожидаете от выполнения без аргументов).
  • (Необязательно?) Кэш ключа RSA сервера. Откройте PuTTY, войдите в систему svn.code.sf.net (или независимо от сервера вашего проекта). Появится приглашение, спрашивающее, хотите ли вы кешировать ключ RSA сервера - нажмите "Да".

    • Вам может не понадобиться это делать, если вы не используете SVN для подключения вашего проекта в первый раз, вам будет задан один и тот же вопрос. Введите y.
    • Однако я сделал это, потому что думал, что интерактивная подсказка может быть частью проблемы.
  • Создайте открытый/закрытый ключ и зарегистрируйте открытый ключ с помощью Sourceforge.

    • При создании ключа более подробно здесь.
    • Если вы используете PuTTY, используйте PuTTYgen для создания ключа и убедитесь, что закрытый ключ загружен в pageant. По иронии судьбы Launchpad имеет отличные инструкции.
    • Открытый ключ можно зарегистрировать в Sourceforge, перейдя на Home > Account > Services и нажав Edit SSH Keys for Shell/CVS.
  • Теперь проверка работы с использованием протокола svn+ssh должна работать!

Ответ 2

Я выполнил инструкции здесь, и это сработало. Его более быстрый метод, который не требует загрузки ключей и т.д.

  • Загрузите plink.exe из http://the.earth.li/~sgtatham/putty/latest/x86/plink.exe
  • Поместите plink.exe в каталог установки Windows (%windir%)
  • Откройте следующий файл с помощью Notepad %APPDATA%\Subversion\config
  • Добавьте или замените следующую строку в разделе [tunnels] (замените login и pwd своим логином и паролем sourceforge)

    ssh = c:\\windows\\plink.exe -batch -l <LOGIN> -pw <PWD>
    

    (обратите внимание на двойную обратную косую черту)

  • Сохранить и закрыть файл

Ответ 3

Для меня проблема заключалась в том, что Tortoise был первоначально установлен на диске D. Я удалил его и переустановил на C без изменения соответствующих настроек. Решение заключалось в том, чтобы скопировать папку TortoiseSVN с диска C в исходное местоположение на диске D.

Ответ 4

Для кого-либо (например, я), работающего с Tortoise SVN, который работает с Tortoise SVN, но ему нужен доступ к командной строке для упрощенного анализа массы... и не хочет проваливать регистрацию ключа SSH.

  • Скопируйте значение, которое вы используете в Tortoise - Настройки - Сеть - Клиент SSH (у меня есть имя пользователя, аргументы пароля)
  • Отредактируйте командную строку configs ssh line в% APPDATA%\Subversion\config в соответствии с ответом выше, чтобы использовать строку, которую вы скопировали из Tortoise

Таким образом, вы можете использовать Tortoise Plink.exe с аргументами для имени пользователя и пароля.