Это становится еще более важным с новой двухфакторной аутентификацией, поскольку каждый должен создавать новый токен каждый раз, когда на терминале требуется пароль. В принципе, я ищу equvalent для osxkeychain, доступного в OS X, который я мог бы использовать на настольных компьютерах и серверах Linux:
git config --global credential.helper osxkeychain
Я искал возможные решения, но пока мне не нравится ни один из них:
- ssh вместо https - не рекомендуется и ссылки, недоступные для GitHub
-
cache --timeout=3600
- он истекает в конце концов, а повторное включение пароля - это перетаскивание с новый 2FA
- gnome-keyring - не работает на безголовом сервере (не менее не слишком изящно - keychasephphase ssh гораздо лучше)
- зашифрованный .netrc файл на моем жестком диске - реализация ручного брелка для бедных людей?
Давай, у нас должен быть какой-то правильный терминальный ключ для Linux, который можно подключить к git credential.helper!
Ответ 1
Я бы по-прежнему рекомендовал метод, описанный в "Есть ли способ пропустить ввод пароля при использовании https://github.com
"
Шифрование .netrc
позволяет хранить несколько учетных данных (в GitHub, BitBicket и...) в одном файле и использовать его через вспомогательный помощник git netrc
(git1.8.3 +).
И он совместим с двухфакторной аутентификацией Github, поскольку я подробно описываю в настройке git клиентов, таких как GitHub для Windows, чтобы не запрашивать аутентификацию ".
Он работает на Windows (и Linux или Mac).
И вы можете ограничить количество минут/часов, в течение которых gpg не будет запрашивать вас снова для кодовой фразы закрытого ключа.
Ответ 2
Этот метод не рекомендуется, но все же, если вы находитесь в спешке, и больше ничего не работает для вас, просто добавьте новый пульт в качестве
git remote -rm origin
git remote add origin https://username:mypassword@github.com/path/to/repo.git
чтобы теперь вам не нужно вводить пароль снова и снова
Примечание. Этот метод не работает с двухэтапными учетными записями авторизации