Черепаха спрашивает пароль

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

Ошибка черепахи

17 ответов

Решение

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

  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

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

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

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


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

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

Делать это без ключей...

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

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

Https: // Имя пользователя: Пароль @ URL

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

Спасибо идет к Камачи

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

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

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

    машина github.com
    войдите в свой логин
    пароль ваш пароль

  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/

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

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

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

Для автоматизации аутентификации используйте:

  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

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

  • сгенерируйте пару ключей с помощью 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.

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

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

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

Ответ Pramodtech перестал работать для меня с текущей версией официального клиента Windows Git. Он хранит исполняемый файл ssh в Git\usr\bin вместо Git\bin сейчас (начиная с версии 2.5, выпущенной в августе 2015 года).

Так что иди в TortoiseGit > Settings > Network и измените путь клиента SSH на:

C:\Program Files\Git\usr\bin\ssh.exe (или каков путь к вашей установке Git)

Сегодня я столкнулся с аналогичной проблемой и смог исправить ее, установив последнюю версию git с https://git-scm.com/download/win.

Командная строка Tortoise GIT DOS перестала запрашивать мой пароль, как только я разместил свои закрытые и открытые ключи в C:\Users\.ssh dir. Я на Windows 7.

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

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

К сожалению, на моей машине с Windows 8 решение с переназначением SSH-клиента не сработало. Решение, которое решило проблему для меня, находится здесь: http://www.munsplace.com/blog/2012/07/27/saving-username-and-password-with-tortoisegit/

Пожалуйста, не URL удаленного источника репо может вызвать эту проблему. У меня был старый репо, который работал отлично, и новый, который я только что клонировал, который спрашивал у меня пароль.

При сравнении информации в Settings > Git > Remote > Url Я видел, что тот, который работал, имел:

git@github.com:githubAccount/repoName.git

Новый, который не работал, имел https адрес.

Пожалуйста, смотрите скриншот ниже.

Поскольку ни одно из предложенных здесь решений не помогло мне, и после многих разочарований в решениях, которые я нашел в Интернете, мне наконец-то удалось это исправить на моей машине.

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

Итак, как решить проблему и как определить, есть ли у вас такая же проблема, как у меня:

  1. Скачать plink.exe на вашей машине отсюда
  2. Откройте командную строку Windows в том же каталоге, где вы загрузили plink.exe
  3. Запустите эту команду: plink -v <path_to_your_git_clone_repo_link>
  4. Посмотрите на вывод и посмотрите, есть ли у вас строка вроде Reading private key file "C:\Path\To\Some\privateKey.ppk"
  5. Если вы видите строку, подобную этой, и это не файл ключа замазки, который вы хотите использовать, просто перейдите и переименуйте / удалите / переместите этот файл, чтобы plink не смог загрузить его в следующий раз
  6. После того, как вы переименовали проблемный файл, все должно работать как положено, если вы запустите команду из пункта 3. вы увидите, что plink теперь не может загрузить это ppk файл и после этого он должен вывести что-то вроде Pageant is running. Requesting keys. и мы на самом деле хотели этого

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

Удалите приложение Tortoisegit. Сделайте новую установку.

  • Начальные шаги нажмите Next, до того как
  • На шаге запуска мастера в раскрывающемся списке укажите параметр OpenSSH.
  • Затем нажмите Finish

Теперь ваша черепаха не запрашивает "войти как"

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