Як відключити підказки пароля під час роботи git push / pull?


35

Щоразу, коли мені хочеться pushта / або pullз терміналу (в Linux), я маю вводити пароль. Як видалити це, щоб воно витягнуло та / або натиснуло без пароля?


5
Який протокол використовується вашою репо-адресою? ssh? https?
VonC

Відповіді:


23

Створіть пара приватних / відкритих ключів для аутентифікації без пароля.

Для Linux ваші ключі зберігаються в ~/.ssh.

Якщо у вас вже є файли ~/.sshз назвою id_rsaі id_rsa.pub, то у вас вже є пара ключів. Додайте вміст вашого відкритого ключа (це id_rsa.pub) до файлу ~ / .ssh / Author_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/


@slhck Ах, не думав про це! Було б добре знати, що ОС, яку використовує whirlwin, перш ніж публікувати подальші інструкції.
Джин

Дякуємо за вказівник. Я відповідно оновив питання!
вир

1
Коли я запускаю першу команду, я отримую: Здається, ви використовуєте ssh для клонування URL-адреси git: //. Переконайтесь, що параметр настройки core.gitProxy та змінна середовища GIT_PROXY_COMMAND НЕ встановлені. втрачено зв’язок
MultiformeIngegno

26

Біжи

git config poveritel.helper store

Це збереже ваші облікові дані у папці всередині кореня. Вам потрібно запустити git pull / push після цієї команди та вперше дати ім’я користувача / pwd. Опублікуйте це, воно не підкаже користувачеві / pwd. Деталі на https://git-scm.com/docs/git-credential-store


4
це слід вибрати як правильну відповідь на це питання. IMO, ОП хотів запитати про рішення, httpsщоб уникнути необхідності вводити ім'я користувача / пароль знову і знову, не перемикаючись на sshрішення. 1+ для цієї відповіді.
Джан Нгуен

1
Зверніть увагу, що помічник зберігача даних зберігає пароль на диску в незашифрованому вигляді.
0xc0de

6

Ви також можете просто змінити свою парольну фразу і замінити її порожнім рядком:
ssh-keygen -p


3
це не дуже помиляється? як не буде більше безпеки
titus

3
Дякую. Це виправлення для людей, які мають налаштування SSH-ключа, але не впевнені, чому їм все-таки потрібно ввести пароль.
Cori Danielson

використання ssh-агента - більш безпечна альтернатива цьому. superuser.com/questions/426749/ssh-agent-and-ssh-add
Джей Р. Врен

1

Я створив нову гілку, і після цього, коли я тягнув, мені довелося ввести ім’я користувача та пароль. Тоді я вирішую проблему повторного клонування гілки з ssh адресою (яка знаходиться на відповідному сайті репозиторію).

Наприклад:

git clone git@github.com:sshare/GLE.git
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.