Почему я не могу установить Git для Windows с OpenSSH?
Всякий раз, когда я пытаюсь установить Git для Windows, используя загруженный отсюда установщик, установка, по-видимому, пропускает этап, на котором я настраиваю свой клиент Secure Shell для Git.
Обычно во время установки отображается экран, предлагающий пользователю выбрать либо OpenSSH (установленный с Git), либо PuTTY PLink (опция по умолчанию). С моими последними несколькими установками этот экран нигде не найти. Вместо этого Git, кажется, молча настроен на использование PLink без какого-либо участия от меня.
Может кто-нибудь сказать мне, почему это происходит?
Если я не могу выбрать, какой SSH-клиент использовать при установке, может кто-нибудь сказать мне, как перенастроить Git так, чтобы он указывал на OpenSSH вместо TortoisePLink?
Кажется, это контролируется переменной среды Git (моя читается как "GIT_SSH=c:\Program Files\Putty\plink.exe", а не "GIT_SSH=ssh.exe", как на другом ПК с работающим Git).
Как обходной путь, кто-нибудь знает, как изменить эту переменную?
2 ответа
Я сталкивался с этим раньше. Многое нужно сделать, чтобы перейти на OpenSSH.
редактировать
C:\Program Files (x86)\Git\setup.ini
и УДАЛИТЕ следующие строки (ЕСЛИ они есть в файле):GIT_SSH=C:\Program Files (x86)\PuTTY\plink.exe SVN_SSH=C:\Program Files (x86)\PuTTY\plink.exe
редактировать
C:\Program Files (x86)\Git\etc\profile
и УДАЛИТЬ линиюexport PLINK_PROTOCOL=ssh
Убедитесь, что у вас есть файл закрытого ключа SSH. Файл в формате OpenSSH НЕ в формате закрытого ключа PuTTY,
.ppk
,Создать
.ssh
каталог для пользователя Git и скопируйтеid_rsa
файл там.md c:\Users\Git_User\.ssh
Откройте окно командной строки DOS и введите команду
set | more
Ищу
GIT_SSH
а такжеSVN_SSH
Если он найден, это означает, что он настроен в переменных среды Windows. Вам нужно будет удалить его оттуда.
В меню "Пуск" откройте панель управления
- Выберите учетные записи пользователей
- Выберите Изменить мои переменные среды
- Выделите GIT_SSH ...
- Нажмите на Удалить
- Нажмите на ОК
Повторите это для SVN_SSH.
На моей машине эти операции ОТКЛЮЧАЮТ TortoiseGit. Может быть лучше исправить ваш Git конфиг, чтобы использовать TortoiseGitPlink.exe
, Также есть TortoisePlink.exe
в TortoiseGit/bin
каталог - не используйте его. TortoisePlink.exe
не работает для меня.
Я только что натолкнулся на это сегодня вечером, и информация с последнего постера с тех пор устарела - но она привела меня в нужное место - по сути, скрывая любые понятия putty/plink в вашей системе от установщика git.
Git продолжал пытаться "помочь", заметив, что plink был установлен и отказался устанавливать openssh.
- Удалите Git.
- Сдуть оставшуюся структуру c:\program files\git.
- Перейдите в раздел реестра USER, HKEY_CURRENT_USER\Software\SimonTatham
- Временно переименуйте ключ в что-то вроде SSSSimonTatham (начните с 'S', чтобы он не сортировал вас, и вы сможете быстро найти его позже)
- Теперь установите Git. (Он не заметит, что у вас установлен plink)
- Не забудьте добавить ssh.exe (теперь установлен) в ваш путь
- Для меня это был C:\Program Files\Git\usr\bin
- Переименуйте ваш раздел реестра для замазки обратно в SimonTatham