5

Всякий раз, когда я пытаюсь установить 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 ответа2

3

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

  1. Отредактируйте 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
    
  2. Отредактируйте C:\Program Files (x86)\Git\etc\profile и УДАЛИТЕ строку

    export PLINK_PROTOCOL=ssh
    
  3. Убедитесь, что у вас есть файл закрытого ключа SSH. Файл в формате OpenSSH НЕ в формате закрытого ключа PuTTY, .ppk .

  4. Создайте .ssh для пользователя Git и скопируйте туда файл id_rsa .

    md c:\Users\Git_User\.ssh
    
  5. Откройте окно командной строки DOS и введите команду

    set | more
    

    Ищите GIT_SSH и SVN_SSH

  6. Если он найден, это означает, что он настроен в переменных среды Windows. Вам нужно будет удалить его оттуда.

В меню «Пуск» откройте панель управления

  • Выберите учетные записи пользователей
  • Выберите Изменить мои переменные среды
  • Выделите GIT_SSH ...
  • Нажмите на Удалить
  • Нажмите на ОК

Повторите это для SVN_SSH.

На моей машине эти операции ОТКЛЮЧАЮТ TortoiseGit. Возможно, лучше исправить конфигурацию Git, чтобы использовать TortoiseGitPlink.exe . Существует также TortoisePlink.exe в каталоге TortoiseGit/bin - не используйте его. TortoisePlink.exe не работает для меня.

0

Я только что натолкнулся на это сегодня вечером, и информация с последнего постера с тех пор устарела - но она привела меня в нужное место - по сути, скрывая любые понятия 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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .