Черепаха спрашивает пароль
Я только начал работать над Git. Я использую Windows 7 и установил msysgit(1.7.8) и Tortoisegit(1.7.6). Репозиторий создается на сервере Linux, который доступен через локальную сеть. Проблема, с которой я сталкиваюсь, заключается в том, что я не могу клонировать репозиторий с помощью Tortoisegit, он запрашивает пароль, и я не уверен, какой пароль он запрашивает. В то же время я мог клонировать репозиторий с помощью Git Gui и выполнять все операции. Кто-нибудь может помочь мне понять, почему Tortoisegit запрашивает пароль, а Git Gui - нет. Я попытался удалить Git и Tortoisegit, а затем установить снова, но безуспешно.
17 ответов
Мой коллега решил проблему. шаги:
- Щелкните правой кнопкой мыши -> TortoiseGit -> Настройки -> Сеть
- SSH клиент указывал на
C:\Program Files\TortoiseGit\bin\TortoisePlink.exe
- Изменен путь к
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), вам необходимо
- Откройте ключ SSH в PuTTY gen (устанавливается вместе с Tortoise Git)
- В PuTTY gen сохраните ключ как ключ PuTTY.
- В хранилище
Right-click --> Tortoise Git --> Settings --> Git --> Remotes
, Найдите свой пульт (обычно "источник"), затем загрузите ключ PuTTY, начиная с шага 2.
Делать это без ключей...
Щелкните правой кнопкой мыши на вашей папке
Выберите tortoiseGit-> Настройки->Git-> Удаленный
Выберите источник (или то, что вы назвали своим основным пультом)
Под URL используйте этот формат.
Https: // Имя пользователя: Пароль @ URL
Где USERNAME - ваше имя пользователя
: двоеточие разделяет имя пользователя и пароль и должно быть там
ПАРОЛЬ это ваш пароль
@ разделяет учетные данные с вашим URL
URL-адрес - это URL, который вы бы использовали для подключения к ресурсу.git.
Спасибо идет к Камачи
Сохранение имени пользователя и пароля с помощью TortoiseGit
Сохранить ваши данные для входа в TortoiseGit довольно просто. Избавляет от необходимости вводить имя пользователя и пароль каждый раз, когда вы нажимаете или нажимаете.
Создайте файл с именем _netrc со следующим содержимым:
машина github.com
войдите в свой логин
пароль ваш парольСкопируйте файл в C:\Users\ (или в другое место; именно там я его и положил)
Перейдите в командную строку, введите 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
Для автоматизации аутентификации используйте:
- SSH-ключи, как уже указывали другие, или
- встроенный помощник по учетным данным.
Очевидно, что не храните ваш пароль в текстовом файле, если репо не имеет значения.
TortoiseGit> 1.8.1 устанавливает помощник git-credential-winstore, который предоставляет локальный API для доступа и сохранения ваших данных для входа в существующее локальное хранилище учетных данных Windows.
Вы можете просмотреть сохраненные учетные данные, перейдя в Панель управления → Учетные записи пользователей → Диспетчер учетных данных и выбрав "Учетные данные Windows". Записи, начинающиеся с git: взяты из git-credential-winstore.
Вы можете настроить wincred для каждого хранилища:
(GUI),
- Перейдите к хранилищу в проводнике.
- Контекстный щелчок → TortoiseGit → Настройки → Git → Учетные данные
- Помощник по учетным данным: wincred - только этот репозиторий
- В следующий раз, когда вы авторизуетесь с репо, учетные данные будут сохранены.
(CLI, POSH)
cmdkey /add:git:https://USERNAME@github.com /user:USERNAME /pass:PASSWORD
@" [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):
- Откройте PuttyGen, импортируйте мой ключ ssh и преобразуйте его в ключ замазки, сохраните как открытые, так и закрытые части в папке.ssh (%userprofile%.ssh)
- Откройте Putty и перейдите в Connection->SSH->Auth, затем установите там свой файл закрытого ключа.
- Вернитесь в сессию, выберите "Настройки по умолчанию" и нажмите "Сохранить".
- Теперь попробуйте снова клонировать, и вас попросят ввести ключевую фразу в ключ 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, чтобы всегда использовать один конкретный ключ, и, конечно, это создавало все проблемы, когда я пытался подключиться к другому серверу с новой парой ключей.
Итак, как решить проблему и как определить, есть ли у вас такая же проблема, как у меня:
- Скачать
plink.exe
на вашей машине отсюда - Откройте командную строку Windows в том же каталоге, где вы загрузили
plink.exe
- Запустите эту команду:
plink -v <path_to_your_git_clone_repo_link>
- Посмотрите на вывод и посмотрите, есть ли у вас строка вроде
Reading private key file "C:\Path\To\Some\privateKey.ppk"
- Если вы видите строку, подобную этой, и это не файл ключа замазки, который вы хотите использовать, просто перейдите и переименуйте / удалите / переместите этот файл, чтобы plink не смог загрузить его в следующий раз
- После того, как вы переименовали проблемный файл, все должно работать как положено, если вы запустите команду из пункта 3. вы увидите, что plink теперь не может загрузить это
ppk
файл и после этого он должен вывести что-то вродеPageant is running. Requesting keys.
и мы на самом деле хотели этого
Вот и все, если кто-нибудь знает, как я могу отключить этот "глобальный ключ по умолчанию", пожалуйста, дайте мне знать в комментариях, и я обновлю этот ответ информацией.
Удалите приложение Tortoisegit. Сделайте новую установку.
- Начальные шаги нажмите
Next
, до того как - На шаге запуска мастера в раскрывающемся списке укажите параметр OpenSSH.
- Затем нажмите
Finish
Теперь ваша черепаха не запрашивает "войти как"