Черепаха спрашивает пароль - PullRequest
78 голосов
/ 13 января 2012

Я только начал работать над Git. Я использую Windows 7 и установил msysgit (1.7.8) и Tortoisegit (1.7.6). Репозиторий создается на сервере Linux, который доступен через локальную сеть. Проблема, с которой я сталкиваюсь, заключается в том, что я не могу клонировать репозиторий с помощью Tortoisegit, он запрашивает пароль, и я не уверен, какой пароль он запрашивает. В то же время я мог клонировать репозиторий с помощью Git Gui и выполнять все операции. Кто-нибудь может помочь мне понять, почему Tortoisegit запрашивает пароль, а Git Gui - нет. Я попытался удалить Git и Tortoisegit, а затем установить снова, но безуспешно.

Tortoisegit error

Ответы [ 16 ]

123 голосов
/ 13 января 2012

Мой коллега решил проблему.Шаги:

  1. Щелкните правой кнопкой мыши -> TortoiseGit -> Настройки -> Сеть
  2. Клиент SSH указывал на C:\Program Files\TortoiseGit\bin\TortoisePlink.exe
  3. Изменен путь на C:\Program Files (x86)\Git\bin\ssh.exe

Альтернативный путь: C:\Users\...\AppData\Local\Programs\Git\usr\bin\ssh.exe

26 голосов
/ 12 июля 2015

Если вам нужно использовать имя пользователя / пароль, есть гораздо более простое решение, чем текущий ответ № 2:

Right-click --> Tortoise Git --> Settings --> Git --> Credential --> Choose "Wincred, all Windows users" --> Hit apply

При следующем вводе пароля дляrepo, этот пароль будет автоматически сохранен.


Если вы используете хранилище, для которого требуются ключи SSH, а не имя пользователя / пароль (что звучит так, как это было изначально в OP) , вам нужно

  1. Открыть ключ SSH в PuTTY gen (устанавливается вместе с Tortoise Git)
  2. В PuTTY gen сохраните ключ как ключ PuTTY.
  3. В хранилище Right-click --> Tortoise Git --> Settings --> Git --> Remotes.Найдите пульт ДУ (обычно «источник») , затем загрузите ключ PuTTY с шага 2.
20 голосов
/ 25 сентября 2014

Чтобы сделать это без ключей ...

Щелкните правой кнопкой мыши по папке
Выберите tortoiseGit-> Настройки-> Git-> Удаленный
Выберите источник (или то, что вы назвали своим основным пультом)

Под URL используйте этот формат.

Https://USERNAME:PASSWORD@URL

Где USERNAME - ваше имя пользователя
: двоеточие разделяет имя пользователя и пароль и должно быть там
ПАРОЛЬ - ваш пароль
@ разделяет учетные данные с вашим URL
URL - это URL, который вы бы использовали для подключения к ресурсу .git

Спасибо Kamaci

14 голосов
/ 23 июня 2013

Сохранение имени пользователя и пароля с помощью TortoiseGit

Сохранить ваши данные для входа в TortoiseGit довольно просто. Избавляет от необходимости вводить имя пользователя и пароль при каждом нажатии или нажатии.

  1. Создайте файл с именем _netrc со следующим содержимым:

    машина github.com
    Войти yourlogin
    пароль ваш пароль

  2. Скопируйте файл в C: \ Users \ (или в другое место; это именно то место, где я его положил)

  3. Перейдите в командную строку, введите setx home C: \ Users \

Примечание. Если вы используете что-то более раннее, чем Windows 7, команда setx может не сработать. Вместо этого используйте set и добавьте переменную домашней среды в Windows, используя Дополнительные настройки в разделе «Мой компьютер».

КРЕДИТ ДЛЯ: http://www.munsplace.com/blog/2012/07/27/saving-username-and-password-with-tortoisegit/

5 голосов
/ 03 сентября 2013

Один из способов сделать это -

  • создать пару ключей с помощью PuttyGen (или импортировать в .ppk, если у вас уже есть ключ)
  • загрузить закрытый ключ в peagent
  • импортировать открытый ключ на сервер gitosis (предоставьте ваш открытый ключ администратору)
  • , а затем использовать plink в качестве SSH-клиента

plink изначально работает с peagent для извлечениязагруженный ключ.

Вы можете найти plink.exe вместе с peagent и другими вкусностями в стандартном дистрибутиве замазки

, чтобы использовать его, перейдите по адресу:

Настройки TortoiseGit -> Сеть -> SSH клиент.

по умолчанию содержит путь к TortoisePlink.exe, вместо того, чтобы указывать путь к plink.exe

В качестве альтернативы вы можете использовать ssh (.exe) в дистрибутиве msys (git)но тогда вы не можете использовать закрытый ключ в формате .ppk / Peagent.Вам нужно либо экспортировать свой ключ в формат OpenSSH через PuttyGen, либо создать вместо него пару ключей, используя ssh-keygen.

4 голосов
/ 11 июля 2015

Чтобы автоматизировать аутентификацию, используйте:

  1. SSH-ключи, как уже указали другие, или
  2. встроенный помощник по учетным данным.

Очевидно, что не храните свой пароль в текстовом файле, если репо не имеет значения.

TortoiseGit> 1.8.1 устанавливает помощник git-credential-winstore , который предоставляет локальный API для доступа и сохранения вашей регистрационной информации в существующем локальном хранилище учетных данных Windows .

Просмотреть сохраненные учетные данные можно, перейдя в Панель управления → Учетные записи пользователей →Диспетчер учетных данных и выбрав «учетные данные Windows».Записи, начинающиеся с «git:», взяты из git-credential-winstore.

Вы можете настроить wincred для репозитория с помощью:

(GUI)

  1. Перейдите кхранилище в проводнике.
  2. Контекстный щелчок → TortoiseGit → Настройки → Git → Учетные данные
  3. Помощник по учетным данным: wincred - только этот репозиторий
  4. При следующей аутентификации с помощьюрепо, учетные данные будут сохранены.

(CLI, POSH)

  1. cmdkey /add:git:https://USERNAME@github.com /user:USERNAME /pass:PASSWORD
  2. @"
    [credential]
            helper = wincred
    "@ | Out-File -FilePath $repoRoot\.git\config -Append
    

Вы можете перечислить все учетные данные, хранимые для репозиториев, с помощью cmdkey /list:git:*
После сохранения пароли не отображаются с помощью cmdkey (http://ss64.com/nt/cmdkey.html)

Для просмотра всех учетных данных с необходимыми паролямииспользовать Windows API . Для powershell есть CredMan :

. .\CredMan.ps1
.\CredMan.ps1 -ShoCred
3 голосов
/ 01 августа 2017

Что я сделал, чтобы исправить это (windows):

  1. Откройте PuttyGen, импортируйте мой ключ ssh и преобразуйте его в ключ замазки, сохраните как открытые, так и частные части в папке .ssh (% userprofile% .ssh)
  2. Откройте Putty и перейдите в Connection-> SSH-> Auth, затем установите там свой файл личного ключа.
  3. Вернитесь в Session, выберите Настройки по умолчанию и нажмите Сохранить.
  4. Теперь попробуйте снова клонировать, и вас попросят ввести ключевую фразу на вашем ключе ssh, введите ее, и она должна работать.
3 голосов
/ 09 января 2017

У меня была такая же проблема.Моя среда Windows 10 с TortoiseGit 2.3.0.0 и git версии 2.11.0.windows.1

Следующее решило мою проблему:

  • Щелкните правой кнопкой мыши -> TortoiseGit -> Настройки -> Сеть
  • Обновление SSH-клиента до C: \ Program Files \ Git \ usr \ bin \ ssh.exe

enter image description here

3 голосов
/ 13 января 2012

URL-адрес и заголовок окна TortoisePlink указывают, что черепаха пытается использовать ssh в качестве транспортного протокола.git поддерживает более одного транспортного протокола, включая доступ к файловой системе и доступ по SSH.В своем вопросе вы описываете, что хотите получить доступ к своему удаленному репо с помощью доступа к файловой системе.В этом случае ваш удаленный URL должен выглядеть примерно так: file://server/path/to/repo.Пожалуйста, проверьте URL удаленного репо.

1 голос
/ 22 марта 2017

Была такая же проблема.В моем случае не было пароля, который я мог бы ввести туда.Соединение было настроено как SSH, но не было определено ключей для репо.

Проверить: Конфигурация TortoiseGIT SSH .Эти инструкции предназначены для cloudforge, но для других сервисов вы должны сделать то же самое, просто предоставьте свой открытый ключ поставщику репозитория git.

...