Obecnie za każdym razem, gdy I git pull
lub git push
repozytorium http (s), otrzymuję:
$ git pull
Username for 'https://gitrepos.reposdomain.com': [email protected]
Password for 'https://[email protected]@gitrepos.reposdomain.com':
Jest to przydatne w rzadkich przypadkach, ale bardzo szybko zaczyna być naprawdę denerwujące. Niestety przejście na ssh nie jest w tym przypadku opcją.
Przeczytałem, że wcześniejsze wersje git
zawierały poświadczenia i „pamięć podręczną”, ale nie było to zalecane, ponieważ przechowywało hasło w postaci zwykłego tekstu.
ALE
Nowsze wersje git
najwyraźniej przechowują poświadczenia git w gnome-keyring
, ale muszą być poprawnie skonfigurowane.
Próbowałem podążać za innymi (innymi niż Ubuntu) odpowiedziami na SO, aby to zadziałało (mianowicie ta ), ale wciąż pojawia się monit o nazwę użytkownika i hasło.
Jaki jest prawidłowy i najbezpieczniejszy sposób przechowywania git
poświadczeń dla repozytoriów HTTP i jak je zmusić do działania w Ubuntu?
źródło
Odpowiedzi:
gnome-credential-helper
jest teraz przestarzałeZamiast tego użyj libsecret. Jeśli nie jest jeszcze wbudowane w twoje Ubuntu, użyj następującej procedury:
libsecret
Biblioteki programistyczne i instalacyjne można instalować za pomocą:sudo apt-get install libsecret-1-0 libsecret-1-dev
Następnie musisz zbudować menedżera poświadczeń
cd /usr/share/doc/git/contrib/credential/libsecret
sudo make
Na koniec powinieneś wskazać git na nowo utworzony plik w swojej konfiguracji:
git config --global credential.helper /usr/share/doc/git/contrib/credential/libsecret/git-credential-libsecret
Więcej informacji na https://stackoverflow.com/a/40312117/2017781
źródło
Musisz skonfigurować git za
credential helper
pomocą Gnome Keyring:Zainstaluj i skompiluj wersję Gnome Keyring:
I skonfiguruj poświadczenie:
źródło
git push
lubgit pull
jak zwykle, a za pierwszym razem zapyta sklep ansd, a za każdym razem dostanie go z kluczy. Aby to sprawdzić, uruchomseahorse
. Powinien być wymieniony w sekcji „Hasła” -> „Zaloguj się”.To proste podejście wydaje się wystarczające na moim Ubuntu 18.04.1 z git 2.17.1:
Możesz określić limit czasu jednej godziny (= 3600 sekund) w następujący sposób:
Dalsze czytanie w świetnej instrukcji .
źródło