В настоящее время всякий раз, когда я git pull
или git push
в хранилище http (s), я получаю следующее:
$ git pull
Username for 'https://gitrepos.reposdomain.com': me@mydomain.com
Password for 'https://me@mydomain.com@gitrepos.reposdomain.com':
Это нормально для нечастого использования, но начинает очень быстро раздражать. К сожалению, переключение на ssh в этом случае не вариант.
Я читал, что более ранние версии git
предоставляли учетные данные «store» и «cache», но этого не советовали, потому что он хранил пароль в виде открытого текста.
НО
Более новые версии git
очевидно хранят учетные данные git в gnome-keyring
, но это должно быть настроено правильно.
Я попытался следовать другим (не Ubuntu) ответам на SO, чтобы заставить это работать (а именно этот ), но мне все еще предоставляют приглашение имени пользователя и пароля.
Как правильно и безопасно хранить git
учетные данные для репозиториев http (s) и как заставить их работать в Ubuntu?
источник
Ответы:
gnome-credential-helper
сейчас устарела.Вместо этого используйте libsecret. Если он еще не встроен в вашу Ubuntu, используйте следующую процедуру:
Вы можете установить
libsecret
и библиотеки разработки с:sudo apt-get install libsecret-1-0 libsecret-1-dev
Тогда вам нужно построить диспетчер учетных данных
cd /usr/share/doc/git/contrib/credential/libsecret
sudo make
Наконец, вы должны указать git на вновь созданный файл в вашей конфигурации:
git config --global credential.helper /usr/share/doc/git/contrib/credential/libsecret/git-credential-libsecret
Более подробная информация на https://stackoverflow.com/a/40312117/2017781
источник
Вам нужно настроить Git
credential helper
с помощью Gnome Keyring:Установите и скомпилируйте Gvel Keyring devel:
И настройте учетные данные:
источник
git push
илиgit pull
как обычно, и в первый раз он запросит хранилище ansd и каждый раз после этого получит его из набора ключей. Чтобы проверить это, запуститеseahorse
. Он должен быть указан в разделе «Пароли» -> «Логин».Этот простой подход кажется достаточным для моей Ubuntu 18.04.1 с git 2.17.1:
Вы можете указать один час (= 3600 секунд), как это:
Дальнейшее чтение в прекрасном руководстве .
источник