Настройте Git для использования Plink

Я пытаюсь настроить Git для использования Plink. Это работало для меня много раз раньше. Сейчас мне эта опция почему-то недоступна (она отключена):

Снимок экрана с параметром Git Setup Plink

Я пытался удалить и переустановить Git сто раз. Ничего. Я не могу включить эту опцию.


person Terminal58    schedule 06.06.2010    source источник
comment
Вы уверены, что переменная среды правильно установлена ​​для процесса? Вы можете установить Process Explorer и использовать его для проверки уже запущенной программы.   -  person TerryP    schedule 06.06.2010
comment
Я не получаю возможность установить переменную   -  person Terminal58    schedule 06.06.2010
comment
Что показал тот скриншот? Может кто либо взять новый или описать словами?   -  person SamB    schedule 15.10.2011
comment
Прошло более двух лет с тех пор, как я спросил об этом, но я думаю, что изображение было идентично тому, которое опубликовал jhcaiced. Я просто показывал то, что моя установка не показала мне.   -  person Terminal58    schedule 10.10.2012


Ответы (5)


Это старый вопрос, и у меня такая же проблема, просто чтобы быть уверенным, что я запишу решение, которое сработало для меня.

  • Установщик msysgit не показывал экран, позволяющий выбирать между клиентом openssh и черепахой (plink)

  • Решение состоит в том, чтобы установить Putty (или Tortoise Plink, я думаю), создать и сохранить хотя бы одну сессию, простая установка Putty не сработала, сессия должна быть создана, установщик делает какую-то странную проверку по этому поводу.

  • Когда вы снова запустите установщик Git, должен появиться экран.

введите здесь описание изображения

person jhcaiced    schedule 08.10.2011
comment
Мне нужно было запустить Pagent. - person Nigel Thorne; 13.11.2012
comment
Это был второй пункт, который привел меня к этому шагу в установщике, спасибо! - person jwanglof; 07.06.2018
comment
для меня запуск этого (для замазки x64) работал на Win Server 2016, установленном GIT_SSH=C:\Program Files\PuTTY\plink.exe - person m1m1k; 31.01.2020

У меня только что была эта проблема (с более новой версией Git, 1.7.9). Я использовал ответ от VonC, но потребовалось всего пару шагов:

  1. Установите переменную среды GIT_SSH в положение plink.exe.
  2. Запустите pagent.exe и загрузите свой закрытый ключ

В 64-битной Windows расположение plink по умолчанию — C:\Program Files (x86)\GitExtensions\PuTTY\plink.exe Пробелы в пути больше не кажутся проблемой.

person andypaxo    schedule 27.04.2012
comment
Работал нормально и (при условии, что вы знаете, где установить переменные среды) намного проще, чем переустановка. - person amenthes; 02.04.2015
comment
Пробелы в пути все еще проблема. Обходной путь — использовать короткое имя файла, не содержащее пробелов. Получить короткое имя файла можно с помощью следующей команды: cmd /c for %A in ("c:\Path\ to\ file") do @echo %~sA. - person neverov; 11.08.2015
comment
@neverov Я решил проблему с пробелами, создав ссылку. c:\apps — это уже существующий каталог на моем ПК, вы можете заменить его любым каталогом, который вам нравится. Выполнить от имени администратора 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
comment
Мне пришлось дополнительно вручную подтвердить/добавить ключ сервера в кеш, набрав 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 запущен.

Моя работа вокруг:

  1. Наконец-то я только что установил GIT 1.6.5.1.
  2. Я изменил путь Plink, чтобы удалить пробелы. Я изменил каталог с: c:\program files\putty на c:\putty.
  3. Я установил для переменной среды 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 -- в 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.

person VonC    schedule 06.06.2010
comment
Основные моменты: избегайте пробелов в пути к plink.exe; укажите GIT_SSH на plink. - person SamB; 15.10.2011
comment
Почему в вашем PATH нет plink? GIT_SSH=plink у меня отлично работает :-p - person binki; 17.08.2014
comment
@binki, потому что у меня было несколько plink (один с замазкой, один с GoW (github.com/bmatzelle/gow/ wiki), и я хотел убедиться, что ссылаюсь на тот, который мне нужен. - person VonC; 17.08.2014
comment
Чтобы настроить это, быстро запустите PowerShell от имени администратора: [Environment]::SetEnvironmentVariable("GIT_SSH", "D:\your_path_here\plink.exe", "User") - person Janusz Skonieczny; 20.04.2015
comment
@JanuszSkonieczny Хороший вопрос. Я включил ваш комментарий в ответ для большей наглядности. - person VonC; 20.04.2015

Если вы используете TortoiseGit, вы можете навсегда настроить его plink. Конечно, используйте правильный путь на вашем компьютере.

setx GIT_SSH "C:\Program Files\TortoiseGit\bin\TortoiseGitPlink.exe"
person user3042599    schedule 28.11.2017

Я много лет использовал решение с переменной окружения GIT_SSH, но где-то в этом году оно перестало работать (после обновления git bash или инструментария putty). Я нашел текущую рабочую душу. Во-первых, ваш конкурс должен быть запущен. Во-вторых, вы должны запустить агент ssh, но Windows один:

eval `ssh-pageant`

Это Windows-эквивалент того, что знают пользователи Unix:

eval `ssh-agent`

Чтобы добавить ключи, вы можете использовать ssh-add или окно Pagenant UI.

person midlan    schedule 25.11.2020