Как правильно использовать git с репозиториями gnome-keyring и http (s)?

В настоящее время всякий раз, когда я 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?

43
задан 23 May 2017 в 15:39

3 ответа

gnome-credential-helper теперь удерживается от использования.

Вместо этого используйте libsecret. Если это не уже buil-в Ваша человечность, используйте следующую процедуру:

  1. можно установить libsecret и библиотеки разработки с:

    sudo apt-get install libsecret-1-0 libsecret-1-dev

  2. Затем необходимо создать менеджер учетных данных

    cd /usr/share/doc/git/contrib/credential/libsecret

    sudo make

  3. Наконец, необходимо указать мерзавец в недавно созданный файл в конфигурации:

    git config --global credential.helper /usr/share/doc/git/contrib/credential/libsecret/git-credential-libsecret

[еще 1120] детали о https://stackoverflow.com/a/40312117/2017781

43
ответ дан 24 May 2017 в 01:39
  • 1
    @muru Путем уничтожения экранной заставки гнома, я намеревался решить, что экранная заставка гнома является источником экрана блокировки это shouldn' t появляются, когда я открываю свой ноутбук. Оказывается, что это было. Теперь я хочу определить, какой процесс заставляет его поддерживать перезапуск в порядке для приобретения знаний достаточно о systemd и dbus для решения большого количества связанных проблем, которые существуют из-за интерференции между Единицей и моими настольными средами. Проблема XY you' ve связался с пользователями проблем, которые становятся зафиксированными на их предпринятом решении. У меня нет предпринятого решения, таким образом, I' m не уверенный, как это относится ко мне. – Darien Marks 3 November 2017 в 02:32

Необходимо установить мерзавца credential helper с Брелоком для ключей Gnome:

Установка и компиляция дьявол Брелока для ключей Gnome:

sudo apt-get install libgnome-keyring-dev
sudo make --directory=/usr/share/doc/git/contrib/credential/gnome-keyring

И установка учетные данные:

git config --global credential.helper /usr/share/doc/git/contrib/credential/gnome-keyring/git-credential-gnome-keyring
44
ответ дан 24 May 2017 в 01:39
  • 1
    @DarienMarks Вы хотели определить what' s показ экрана блокировки этого shouldn' t появиться (=X). Вы определяете некоторый метод, чтобы решить, что и спрашивают о том (=Y), и когда кто-то отвечает, что, скажите, что что-то еще - настоящая проблема. Классический XY мне. – muru 3 November 2017 в 02:37

Этот простой подход, кажется, достаточен на моей Ubuntu 18.04.1 с мерзавцем 2.17.1:

git config --global credential.helper cache

Можно указать один час (=3600 секунд) тайм-аут как это:

git config --global credential.helper 'cache --timeout=3600'

Дополнительные материалы для чтения в прекрасном руководстве.

2
ответ дан 23 November 2019 в 00:01

Другие вопросы по тегам:

Похожие вопросы: