Запрос пароля GIT в командной строке Windows

У меня установлены mysysgit и TortoiseGit на ПК с Windows, который подключается к удаленному репозиторию Git на компьютере с Linux. Я создал ключи ssh и добавил их в профиль в TortoiseGit. Когда я взаимодействую с удаленным репо в TortoiseGit, все работает нормально. Нет запроса пароля. Однако, когда я пытаюсь запустить команды Git из командной строки, мне предлагается ввести пароль SSH.

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


person scott80109    schedule 24.09.2013    source источник


Ответы (3)


Убедитесь, что ваш сеанс git ссылается на TortoisePLink.exe (в переменной среды GIT_SSH), как описано в разделе «Почему git не может запомнить мою парольную фразу под Windows< /а>":

(возможно, вы уже сделали первые два шага)

  • преобразовать ваш ключ для использования с pageant.exe TortoiseGit, используя puttygen.exe TortoiseGit.
  • Запустите pageant.exe TortoiseGit, откройте файл .ppk ("Добавить ключ") и введите кодовую фразу для вашего ключа.
  • добавьте переменную окружения:

    GIT_SSH=C:\full\path\to\TortoisePlink.exe
    

Это предполагает, что ваш TortoiseGit использует TortoisePlink.exe.


OP scott80109 завершает в комментариях:

Msysgit был установлен для использования Open SSH.
Я изменил его на использование plink, и теперь он работает без запроса.


Эрез А. Корн добавляет в комментариях:

Я предпочитаю использовать openssh, так как мне не нужно иметь ключ в альтернативном формате (ppk).
Я написал небольшую оболочку для запуска ssh-agent и управления делами, а затем добавил ее в свою Windows. Запуск.
Вы можете проверить код в erezak/ssh-agent-wrapper-win< /а>.

person VonC    schedule 25.09.2013

Я рекомендую использовать конкурс. прочитайте это http://guides.beanstalkapp.com/version-control/git-on-windows.html и добавьте свой ssh-ключ на конкурс. это влияет глобально.

person Jongsu Liam Kim    schedule 24.09.2013
comment
Pageant установлен и к нему добавлен ключ. Я не думаю, что это проблема. - person scott80109; 25.09.2013
comment
@ scott80109, у вас есть переменная среды GIT_SSH, правильно указывающая на plink.exe PuTTY? В противном случае простой Git для Windows не найдет его и будет использовать встроенный клиент SSH (связанный порт клиента OpenSSH). См. второй снимок экрана здесь. - person kostix; 25.09.2013

В моем случае требовалось несколько пользователей github с ключами ssh, защищенными паролем.

Я отсортировал свой файл ~.ssh/config, чтобы использовать разные ключи для разных доменов репо, как описано здесь

Однако я не хочу каждый раз вводить парольную фразу и не хочу использовать ssh-agent.

Вот как я настроил Pageant, чтобы запрашивать и запоминать мою парольную фразу при входе в Windows:

  • Загрузить пакет инструментов Putty
  • Win+R, чтобы открыть диалоговое окно запуска
  • shell:startup, чтобы открыть папку автозапуска в проводнике Windows
  • Перейдите в папку Pageant в отдельном окне проводника.
  • Щелкните правой кнопкой мыши и перетащите PAGEANT.EXE в папку автозагрузки. Выберите Создать ярлык.
  • Щелкните правой кнопкой мыши ярлык, свойства, вкладка «Ярлык».
  • Find the path to your .ppk encoded keypair
    • generate one with PUTTYGEN.EXE if you need a new one
    • конвертируйте его с помощью PUTTYGEN.EXE, если у вас есть файл id_rsa для Linux, но нет .ppk
    • win7+: Shift, щелкните правой кнопкой мыши ключ в Проводнике, Копировать как путь
  • Append the key path to the C:\whatever\PAGEANT.EXE line
    • e.g: "Target: C:\putty\PAGEANT.EXE plato_cambrian.ppk plato.ppk"
    • Если ваши ключи не находятся рядом с PAGEANT, вы можете использовать абсолютные пути или изменить «Начать в:», который является CWD Pageant.
  • Откройте ярлык или перезагрузитесь и введите парольную фразу.

Кроме того, для всех пользователей Ubuntu/Linux Mint, которые оказались здесь, я задокументировал аналогичные шаги здесь

person Plato    schedule 18.09.2014