Как настроить черепаху, чтобы не требовать пароль с помощью ssh - программирование
Подтвердить что ты не робот

Как настроить черепаху, чтобы не требовать пароль с помощью ssh

У меня возникли проблемы с получением git/tortoisegit для использования моего поставленного ключа ssh (созданного с помощью PuttyGen). В командной строке я получаю ошибку permission denied, а в пользовательском интерфейсе TortoiseGit появляется запрос на ввод пароля. Я пробовал этот вопрос SO, но, как уже было сказано, я создал с PuttyGen, у меня работает Pageant с моими ключами, и я настроен на использование TortoisePlink.

Затем я нашел этот вопрос SO и попытался использовать ssh в каталоге git, TortoisePlink в моем TortoiseHG (используется для Bitbucket/Mercurial), и, как было сказано, уже попробовал локальную TortoisePlink в TortoiseGit.

О, и я установил свой ppk в моей учетной записи git, а также в разделе Git → Remote TortoiseGit

Итак, что мне не хватает?

4b9b3361

Ответ 1

Проверьте, что ваш исходный URL-адрес.

Щелкните правой кнопкой мыши папку проекта TortoiseGit → Настройки

Выбрать Git → Удаленный и выберите начальную запись

Убедитесь, что URL-адрес начинается с ssh://и что ваш закрытый ключ загружен.

Если URL-адрес начинается с https://, он будет запрашивать ваш пароль каждый раз.

Надеюсь, что это поможет.

Ответ 2

Я тоже не мог работать с github/tortoisegit. Использование git из командной строки в linux отлично работало. Затем я прибегал к использованию моего имени пользователя/пароля, как описано здесь:

http://www.programmoria.com/2012/02/saving-tortoisegit-password.html

и в других местах. Это не реальное решение (извините), но обходное решение, которое обеспечивает одно и то же: автоматическая аутентификация без ввода вашего имени пользователя/пароля. Файл _netrc так же безопасен/небезопасен, как и закрытый ключ, который также будет храниться где-то на вашем компьютере, поэтому я считаю это приемлемым решением. Комментарии к этому приветствуются, конечно.

Ответ 3

Некоторые серверы Git несколько противоречат друг другу (IMHO), когда дело доходит до аутентификации. Например, Github docs говорят:

Все соединения должны быть выполнены как пользователь "git".

Итак, вместо того, чтобы пытаться подключиться к ssh://<yourname>@github.com..., вам нужно подключиться к ssh://[email protected].

Меня больше не спрашивают пароль, и TortoiseGit теперь показывает Success после завершения операции Push.

Ответ 4

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

Загрузите свой ключ с помощью PuTTyGen. Вы увидите текстовое поле только для чтения в разделе "Открытый ключ для вставки в файл OpenSSH authorized_keys". Скопируйте то, что там.

SSH с PuTTy на сервер SSH. Откройте файл ~/.ssh/authorized_keys с помощью редактора и вставьте скопированный текст в новую строку и сохраните. Возможно, каталог ~/.ssh еще не существует. В этом случае перед редактированием этого файла сделайте mkdir ~/.ssh.

Ответ 5

Я также столкнулся с той же проблемой на v1.8.4, затем я переключил свой клиент ssh на plink и теперь стал работать нормально. Настройки TortoiseGit → Сеть → клиент SSH

plink распространяется вместе с peagent и другими лакомствами в стандартном пакете шпатлевки

По-видимому, есть ошибка в некоторых версиях TortoiseGit (в частности, TortoisePlink) см. этот ответ

Ответ 6

Я использую git 2.7 и tortoisegit 1.8.16 Вот что я сделал, чтобы не требовать пароля, и это сработало для моего случая

Щелкните правой кнопкой мыши папку проекта TortoiseGit → Настройки Выберите git → Remote и выберите начальную запись Изменить url из https://github... в ssh://git @github...

Ответ 7

Используя Tortoise 2.2.0.0, вам нужно сделать пару вещей. На вкладке удаленного доступа вы можете либо удалить исходное http (s), которое у вас уже есть, либо добавить вторую, используя ssh://и установить флажок "По умолчанию по умолчанию" для ssh, чтобы Tortoise использовал его для push по умолчанию (и начало https в моем случае для pull).

Только для ssh требуется указанный ключ, а затем, когда вы нажимаете, он должен по умолчанию использовать ваш новый источник ssh в качестве адресата и не запрашивать ваше имя пользователя и пароль.

Очевидно, вам нужно знать, какой пользователь должен иметь в вашем URL-адресе. Например, в Visual Studio Team Services это имя учетной записи VSTS (не владельца учетной записи!). Вам также может понадобиться номер порта.

Это все, что я сделал для настройки с нуля, и все получилось отлично.