Настройте Git для использования Plink - PullRequest
42 голосов
/ 06 июня 2010

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

Git Setup Plink option screenshot

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

Ответы [ 4 ]

56 голосов
/ 27 апреля 2012

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

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

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

43 голосов
/ 08 октября 2011

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

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

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

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

enter image description here

18 голосов
/ 06 июня 2010

Это похоже на выпуск 368

При обновлении установки никогда не спрашивали, хочу ли я использовать PLink.
Теперь Git продолжает искать ключ OpenSSH. Git не смог найти мой ключ от замазки.

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

Обходной путь ( выпуск 367 )

1) убедившись, что plink находится в PATH
2) Сохранение настроек для одного сеанса замазки (не важно, какой именно)

и делать это перед установкой git.


Даже с этим процессом это не легко:

Мне наконец-то удалось заставить GIT работать с Плинком.

Один комментарий:
Я начал сеанс Plink перед установкой GIT. Даже при запущенном сеансе Plink я так и не смог заставить установщика узнать, что PLink запущен.

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

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

См. коммит dd33e07 (01 февраля 2017 г.) и коммит e9d9a8a (02 января 2017 г.) Segev Finer (segevfiner) .
См. коммит e2824e4 (01 февраля 2017 г.) от Йоханнеса Шинделина (dscho) .
См. коммит 6a4f3a9 (26 января 2017 г.) по Junio ​​C Hamano (gitster) .
(Объединено с Junio ​​C Hamano - gitster - в commit be6ab59 , 27 февраля 2017 г.)

ssh.variant:

В зависимости от значения переменных окружения GIT_SSH или GIT_SSH_COMMAND или настроек конфигурации core.sshCommand, Git автоматически определяет, нужно ли настраивать параметры командной строки для использования с plink или tortoiseplink, в отличие от значения по умолчанию (OpenSSH).

Переменная config ssh.variant может быть установлена ​​для отмены этого автоопределения;
допустимые значения: ssh, plink, putty или tortoiseplink.
Любое другое значение будет рассматриваться как обычный ssh.
Этот параметр можно переопределить с помощью переменной окружения GIT_SSH_VARIANT.

0 голосов
/ 28 ноября 2017

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

setx GIT_SSH "C:\Program Files\TortoiseGit\bin\TortoiseGitPlink.exe"
...