TortoiseGit запрашивает пароль при настройке входа без пароля

После нескольких месяцев непрерывной работы без пароля мой TortoiseGit начал запрашивать пароль на некоторых из моих пультов при нажатии / вытягивании. Я ищу решение, чтобы это исправить, так как это может свести меня с ума.

Подчеркнем: я хочу остаться на SSH-входе без пароля, поэтому любые решения, предполагающие добавление пароля к URL-адресу или постоянное сохранение пароля в конфигурации TortoiseGit, для меня не вариант.

Что я узнал до сих пор:

  1. Моя проблема не связана с GitHub; Я не использую его в TortoiseGit, и это происходит на других пультах.

  2. У меня есть SSH, а не HTTPS, адрес в качестве URL репо, и у меня нет git cloneчто-то вроде этого.

  3. Я могу отправить / вытащить тот же репозиторий, используя NetBeans (и мой NetBeans имеет Select Configured Git Repository Location опция включена, поэтому она использует ту же удаленную конфигурацию).

  4. Я не могу нажать / вытащить пульт с помощью Git GUI, причина та же: запрос пароля пользователя.

  5. Это не относится к конкретной системе или машине (ключ SSH), как это происходит как на моем рабочем компьютере (32-битная Win 7), так и на домашнем (64-битная Win 7). Оба, конечно, используют разные ключи SSH (см. Комментарий к этому ответу, в котором утверждается, что эта проблема связана с 32-разрядной версией Windows; это не так, это также происходит в 64-разрядной версии Windows).

  6. Хранилище, это происходит, не пусто - я слышал и даже был лично затронут, что иногда TortoiseGit получает wako и запрашивает пароль для удаленного входа без пароля, пока этот пульт не будет пустым.

  7. Это не относится к конкретному пульту - TortoiseGit работает нормально, не запрашивая пароль в некоторых репозиториях (например, BitBucket), но "умирает", запрашивая его в каком-то другом (например, в локальной сети разработчиков).

Что еще хуже, есть некоторые пульты, на которых TortoiseGit на моем домашнем компьютере не работает, запрашивая пароль, в то время как тот же пульт, доступ к которому осуществляется с домашнего компьютера, работает просто отлично. И наоборот. Я установил обе машины для входа без пароля, используя одни и те же шаги; отличаются только ключи SSH.

Что я сделал до сих пор (и не решил проблему):

  1. Смена SSH клиента (TortoiseGit -> Settings -> Network) как для Git\bin\ssh.exe (как предлагается здесь) и C:\Program Files\PuTTy\plink.exe,

  2. Использование помощника по учетным данным не помогло, и я слышал, что он работает только для HTTPS, а не для SSL.

  3. загрузкаgit-credential-wincred.exe и помещение его в папку Git для Windows / msysgit также не помогло; У меня уже было это там (другая версия / размер файла; проверено на обоих).

  4. Эта проблема явно связана с запросом пароля пользователя, поэтому git did not exit cleanly (exit code 128) Ошибка, следующая за ним, не имеет другого источника, кроме отсутствующего пароля, и большинство приведенных здесь решений, таких как сбойный git, заблокированный файл, отсутствующая электронная почта пользователя, не являются решением для меня.

Хорошо, это самая лучшая точка, которую я достиг. И все еще ничего. Может кто-нибудь придумать что-то новое, что я должен попытаться решить эту проблему?

2 ответа

Проблема появилась вчера, и мне потребовалось 2-3 часа, чтобы попытаться исправить ее. Я также связался с администратором сервера, который заявил, что не вносил никаких изменений в конфигурацию в последние дни. Поэтому я ставлю щедрость на этот вопрос. Я тоже сегодня попробовал, но все же отрицательно. Наконец, прямо сейчас, я сделал еще одну попытку просто скопировать сообщение своему другу, и внезапно все мои репозитории начали работать!

Я абсолютно уверен, что не трогал конфиги, это был какой-то тайм-аут, который занял более 16 часов. Я понятия не имею, в чем проблема. Все, что я могу сделать вывод, это то, что ожидание до следующего дня может помочь...

Я подтверждаю, что "сохранение пароля" или _netrc файл, или любые помощники учетных данных предназначены только для https URL, и не имеют никакого отношения к SSH.

Применяются обычные шаги по отладке ssh, начиная с %HOME% определяется при запуске TortoiseGit, и %HOME%/.ssh существует и содержит ключи по умолчанию id_rsa а также id_rsa.pub,

В Git Bash сессии вы можете сделать ssh -Tvvv yourRemoteServer чтобы увидеть последовательность сообщений об ошибках, как описано здесь.

Вы также можете проверить результат GIT_TRACE=2 git push test master, чтобы увидеть, ограничена ли проблема только TortoiseGit и не содержит ли подробный вывод какой-либо подсказки ( см. здесь).
Попробуйте переключить ssh-клиент между putty и openssh, чтобы увидеть, лучше ли TortoiseGit справляется с одним или другим.

Другие вопросы по тегам