Как отключить запросы пароля при выполнении git push / pull?

35

Каждый раз, когда я хочу pushи / или pullиз терминала (в Linux), я должен ввести пароль. Как мне удалить это, чтобы оно тянуло и / или толкало без пароля?

whirlwin
источник
5
Какой протокол используется вашим адресом репо? SSH? HTTPS?
VonC

Ответы:

23

Создайте пару секретный / открытый ключ для аутентификации без пароля.

Для Linux ваши ключи хранятся в ~/.ssh.

Если у вас уже есть файлы с ~/.sshтаким именем id_rsaи id_rsa.pub, значит, у вас уже есть пара ключей. Добавьте содержимое вашего открытого ключа (то есть id_rsa.pub) в файл ~ / .ssh / authorized_keys репозитория Git.

$ scp ~/.ssh/id_rsa.pub user@git.repo:id_rsa.tmp
$ ssh user@git.repo
$ cat id_rsa.tmp >> .ssh/authorized_keys

Если у вас нет пары ключей, сгенерируйте ее с помощью

$ ssh-keygen -t rsa

Прочитайте это для получения дальнейших инструкций: http://inchoo.net/tools-frameworks/how-to-generate-ssh-keys-for-git-authorization/

Jin
источник
@slhck Ах, не думал об этом! Хотя, прежде чем публиковать дальнейшие инструкции, будет полезно узнать, какая ОС использует Whirlwin.
Джин
Спасибо за указатель. Я обновил вопрос соответственно!
Whirlwin
1
Когда я запускаю первую команду, я получаю: Вы, кажется, используете ssh для клонирования URL git: //. Убедитесь, что опция конфигурации core.gitProxy и переменная окружения GIT_PROXY_COMMAND НЕ установлены. потеря соединения
MultiformeIngegno
26

Бег

git config credential.helper store

Это сохранит ваши учетные данные в папке внутри root. Вам нужно запустить git pull / push после этой команды и дать имя пользователя / pwd в первый раз. Опубликовать это не будет предлагать пользователю / PWD. Подробности на https://git-scm.com/docs/git-credential-store

буревестник
источник
4
это должно быть выбрано как правильный ответ на этот вопрос. IMO, ОП хотел спросить о решении, httpsчтобы избежать необходимости вводить имя пользователя / пароль снова и снова, не переключаясь на sshрешение. 1+ за этот ответ.
Гианг Нгуен
1
Обратите внимание, что помощник хранилища учетных данных хранит пароль на диске в незашифрованном виде.
0xc0de
6

Вы также можете просто изменить вашу фразу-пароль и заменить ее пустой строкой:
ssh-keygen -p

WIP
источник
3
разве это не очень неправильно? так как безопасности больше не будет
Тит
3
Спасибо. Это исправление для людей, которые настроили ключ SSH, но не уверены, почему им все еще нужно вводить фразу-пароль.
Кори Дэниелсон
использование ssh-agent является более безопасной альтернативой этому. superuser.com/questions/426749/ssh-agent-and-ssh-add
Джей Р. Рен
1

Я создал новую ветку, и после этого, когда я потянул, мне пришлось ввести имя пользователя и пароль. Затем я решаю проблему повторного клонирования ветки с ssh-адресом (который находится на соответствующем сайте репозитория).

Например:

git clone git@github.com:sshare/GLE.git
rj45
источник