Как остановить мерзавца через ssh на окнах от разрешения неправильного пути?

5
задан Dane O'Connor 7 July 2009 в 15:23
поделиться

3 ответа

Я решил эту проблему, переключив свой ssh-сервер с winssh на openssh (через уровень cygwin). Я смог нормально подключиться (как указано выше) с помощью winsshd, но winsshd неправильно обрабатывал пути с префиксом «/». Вероятно, я мог бы заставить winsshd работать, но переключение на cygwin и openssh было быстрее.

Вот хорошее сообщение в блоге , которое поможет начать настройку, если вы находитесь в подобной ситуации:

6
ответ дан 18 December 2019 в 13:17
поделиться

Вы пробовали следующее?

git clone ssh://myuser@myip/myrepo testrepo

Обратите внимание на удаление ".git" в конце пути SSH. Вам нужен только этот суффикс в конце, если он есть в имени удаленного каталога.

Кроме того, пробовали ли вы какой-либо другой формат URL-адреса SSH? Чтобы использовать относительный путь, вы можете попробовать:

git clone ssh://myuser@myip/~/myrepo testrepo

См. страницу руководства git clone для получения подробной информации о других форматах URL.

4
ответ дан 18 December 2019 в 13:17
поделиться

Если кого-то все еще интересует обходной путь:

Проблема в том, что cmd.exe не понимает параметры, заключенные в одинарные кавычки. Поэтому вместо этого мы используем sh.

Создайте файл gup.sh со строкой

    git-upload-pack.exe $*  

и grp.sh со строкой

    git-receive-pack.exe $*  

на сервере!

Затем запустите:

    git clone -u 'sh gup.sh' ssh://myuser@myip/e/vc/git/myrepo.git testrepo  
    git config remote.origin.uploadpack 'sh gup.sh'  
    git config remote.origin.receivepack 'sh grp.sh'  
4
ответ дан 18 December 2019 в 13:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: