TortoiseGit запрашивает пароль при настройке входа без пароля
После нескольких месяцев непрерывной работы без пароля мой TortoiseGit начал запрашивать пароль на некоторых из моих пультов при нажатии / вытягивании. Я ищу решение, чтобы это исправить, так как это может свести меня с ума.
Подчеркнем: я хочу остаться на SSH-входе без пароля, поэтому любые решения, предполагающие добавление пароля к URL-адресу или постоянное сохранение пароля в конфигурации TortoiseGit, для меня не вариант.
Что я узнал до сих пор:
Моя проблема не связана с GitHub; Я не использую его в TortoiseGit, и это происходит на других пультах.
У меня есть SSH, а не HTTPS, адрес в качестве URL репо, и у меня нет
git clone
что-то вроде этого.Я могу отправить / вытащить тот же репозиторий, используя NetBeans (и мой NetBeans имеет
Select Configured Git Repository Location
опция включена, поэтому она использует ту же удаленную конфигурацию).Я не могу нажать / вытащить пульт с помощью Git GUI, причина та же: запрос пароля пользователя.
Это не относится к конкретной системе или машине (ключ SSH), как это происходит как на моем рабочем компьютере (32-битная Win 7), так и на домашнем (64-битная Win 7). Оба, конечно, используют разные ключи SSH (см. Комментарий к этому ответу, в котором утверждается, что эта проблема связана с 32-разрядной версией Windows; это не так, это также происходит в 64-разрядной версии Windows).
Хранилище, это происходит, не пусто - я слышал и даже был лично затронут, что иногда TortoiseGit получает wako и запрашивает пароль для удаленного входа без пароля, пока этот пульт не будет пустым.
Это не относится к конкретному пульту - TortoiseGit работает нормально, не запрашивая пароль в некоторых репозиториях (например, BitBucket), но "умирает", запрашивая его в каком-то другом (например, в локальной сети разработчиков).
Что еще хуже, есть некоторые пульты, на которых TortoiseGit на моем домашнем компьютере не работает, запрашивая пароль, в то время как тот же пульт, доступ к которому осуществляется с домашнего компьютера, работает просто отлично. И наоборот. Я установил обе машины для входа без пароля, используя одни и те же шаги; отличаются только ключи SSH.
Что я сделал до сих пор (и не решил проблему):
Смена SSH клиента (
TortoiseGit -> Settings -> Network
) как дляGit\bin\ssh.exe
(как предлагается здесь) иC:\Program Files\PuTTy\plink.exe
,Использование помощника по учетным данным не помогло, и я слышал, что он работает только для HTTPS, а не для SSL.
загрузка
git-credential-wincred.exe
и помещение его в папку Git для Windows / msysgit также не помогло; У меня уже было это там (другая версия / размер файла; проверено на обоих).Эта проблема явно связана с запросом пароля пользователя, поэтому
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 справляется с одним или другим.