Как хранить ваш https-пароль github в Linux в терминальной цепочке ключей?

Это становится еще более важным с новой двухфакторной аутентификацией, поскольку каждый должен создавать новый токен каждый раз, когда на терминале требуется пароль. В принципе, я ищу 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:[email protected]/path/to/repo.git

чтобы теперь вам не нужно вводить пароль снова и снова

Примечание. Этот метод не работает с двухэтапными учетными записями авторизации