Я пытаюсь настроить Git для использования Plink. Это работало для меня много раз раньше. Сейчас мне эта опция почему-то недоступна (она отключена):
Я пытался удалить и переустановить Git сто раз. Ничего. Я не могу включить эту опцию.
Я пытаюсь настроить Git для использования Plink. Это работало для меня много раз раньше. Сейчас мне эта опция почему-то недоступна (она отключена):
Я пытался удалить и переустановить Git сто раз. Ничего. Я не могу включить эту опцию.
Это старый вопрос, и у меня такая же проблема, просто чтобы быть уверенным, что я запишу решение, которое сработало для меня.
Установщик msysgit не показывал экран, позволяющий выбирать между клиентом openssh и черепахой (plink)
Решение состоит в том, чтобы установить Putty (или Tortoise Plink, я думаю), создать и сохранить хотя бы одну сессию, простая установка Putty не сработала, сессия должна быть создана, установщик делает какую-то странную проверку по этому поводу.
Когда вы снова запустите установщик Git, должен появиться экран.
У меня только что была эта проблема (с более новой версией Git, 1.7.9). Я использовал ответ от VonC, но потребовалось всего пару шагов:
GIT_SSH
в положение plink.exe
.pagent.exe
и загрузите свой закрытый ключВ 64-битной Windows расположение plink по умолчанию — C:\Program Files (x86)\GitExtensions\PuTTY\plink.exe
Пробелы в пути больше не кажутся проблемой.
cmd /c for %A in ("c:\Path\ to\ file") do @echo %~sA
.
- person neverov; 11.08.2015
mklink /j /d c:\apps\putty "c:\Program Files (x86)\PuTTY"
Выполнить под обычным пользователем set GIT_SSH=c:\apps\putty\plink.exe
Для проверки аутентификации ssh я использовал c:\apps\putty\plink -v [email protected]
- person carl verbiest; 13.08.2016
plink github.com
, нажав y, а затем Ctrl-C. Клон работал потом
- person Konrads; 14.11.2016
Похоже на выпуск 368.
Когда я обновлялся, программа установки никогда не спрашивала, хочу ли я использовать PLink.
Теперь Git продолжает искать ключ OpenSSH. Git не смог найти мой ключ шпатлевки.Я попытался загрузить закрытый ключ шпатлевки и переустановить Git. Что бы я ни делал, я не могу заставить Git использовать мои данные plink и закрытый ключ.
Есть обходной путь (проблема 367).
1) убедиться, что plink находится в
PATH
2) Сохранение настроек для одной сессии putty (неважно какой)и делая это перед установкой git.
Даже с этим процессом это непросто:
Наконец-то мне удалось заставить GIT работать с Plink.
Один комментарий:
Я запустил сеанс Plink перед установкой GIT. Даже при работающем сеансе Plink мне так и не удалось заставить установщик распознать, что PLink запущен.Моя работа вокруг:
- Наконец-то я только что установил GIT 1.6.5.1.
- Я изменил путь Plink, чтобы удалить пробелы. Я изменил каталог с:
c:\program files\putty
наc:\putty
.- Я установил для переменной среды
GIT_SSH
новый путь.c:\putty\plink.exe
.Благодаря этим изменениям GIT теперь работает правильно.
Януш Сконечны добавляет в комментариях:
Чтобы настроить это, быстро запустите PowerShell от имени администратора:
[Environment]::SetEnvironmentVariable("GIT_SSH", "D:\your_path_here\plink.exe", "User")
Обновление за март 2017 г. для Git 2.13 (второй квартал 2017 г.)
Теперь Git автоматически определяет нужный вам ssh (openssh или plink), но вы можете принудительно определить это с помощью ss.variant
.
См. commit dd33e07 (1 февраля 2017 г.) и commit e9d9a8a (02 января 2017 г.), автор Сегев Файнер (segevfiner
).
См. commit e2824e4 (01 февраль 2017 г.) Йоханнеса Шинделина (dscho
).
См. commit 6a4f3a9 (26 января 2017 г.), автор Junio С. Хамано (gitster
).
(Объединено Юнио С. Хамано -- gitster
-- a> в commit be6ab59, 27 февраля 2017 г.)
ssh.variant:
В зависимости от значения переменных среды
GIT_SSH
илиGIT_SSH_COMMAND
или параметра конфигурацииcore.sshCommand
, Git автоматически определяет, следует ли настроить параметры командной строки для использования сplink
илиtortoiseplink
, в отличие от значения по умолчанию (OpenSSH).Переменную конфигурации
ssh.variant
можно настроить для переопределения этого автоматического определения;
допустимыми значениями являютсяssh
,plink
,putty
илиtortoiseplink
.
Любое другое значение будет рассматриваться как обычный ssh.
Этот параметр можно переопределить с помощью переменная окруженияGIT_SSH_VARIANT
.
plink.exe
; укажите GIT_SSH
на plink.
- person SamB; 15.10.2011
PATH
нет plink? GIT_SSH=plink
у меня отлично работает :-p
- person binki; 17.08.2014
[Environment]::SetEnvironmentVariable("GIT_SSH", "D:\your_path_here\plink.exe", "User")
- person Janusz Skonieczny; 20.04.2015
Если вы используете TortoiseGit, вы можете навсегда настроить его plink. Конечно, используйте правильный путь на вашем компьютере.
setx GIT_SSH "C:\Program Files\TortoiseGit\bin\TortoiseGitPlink.exe"
Я много лет использовал решение с переменной окружения GIT_SSH
, но где-то в этом году оно перестало работать (после обновления git bash или инструментария putty). Я нашел текущую рабочую душу. Во-первых, ваш конкурс должен быть запущен. Во-вторых, вы должны запустить агент ssh, но Windows один:
eval `ssh-pageant`
Это Windows-эквивалент того, что знают пользователи Unix:
eval `ssh-agent`
Чтобы добавить ключи, вы можете использовать ssh-add
или окно Pagenant UI.