Ответ 1
Получил это.
Вот что привело меня к неправильному пути:
- Не создавайте никаких сеансов в Putty, как описано здесь
- Не используйте никакие псевдонимы хостов, которые вы могли бы определить в ~/.ssh/config
Вот как вы его работаете:
- Очевидно, убедитесь, что GitExtensions настроен на использование Putty, а не OpenSSH
- Убедитесь, что plink.exe(тот, который доступен с помощью GitExtensions или специально установлен с Putty) находится в пути без пробелов.
- Задайте свою переменную env% GIT_SSH%, чтобы указать на plink.exe(она может указывать на ssh.exe по умолчанию), убедитесь, что нет апострофов, поскольку значение будет использоваться как "как есть" (то, почему вы не может использовать пробелы, как указано выше)
c:\>echo %GIT_SSH% C:\tools\PuTTY\plink.exe
-
Используйте команду "full", чтобы вытащить, никаких псевдонимов хоста, которые позволили бы вам не указывать порт и т.д. в приведенном выше примере. Если порт отсутствует, а там только двоеточие, git рассматривает его как разделитель путей, а ssh - как разделитель портов (поэтому они укусят каждого достаточно плохо).
git clone ssh://[email protected]: 1234/path/to/repository.git
Если вы сделаете это, git + plink на самом деле правильно разобрать вещи!
Если вы этого не сделаете, вы можете столкнуться со всеми проблемами:
- Если% GIT_SSH% указал на ssh.exe и использовал псевдоним хоста вместо пути, вкл. порт
ssh.exe": hostPutty:path: no address associated with name fatal: The remote end hung up unexpectedly
- Используемые апострофы в% GIT_SSH%
error: cannot spawn "C:\tools\PuTTY\plink.exe": No such file or directory fatal: unable to fork