Derzeit , wenn ich git pull
oder git push
zu einem http (s) Repository, erhalte ich die folgenden:
$ git pull
Username for 'https://gitrepos.reposdomain.com': [email protected]
Password for 'https://[email protected]@gitrepos.reposdomain.com':
Dies ist in Ordnung für den seltenen Gebrauch, wird aber sehr schnell sehr ärgerlich. Leider ist ein Wechsel zu ssh in diesem Fall nicht möglich.
Ich habe gelesen, dass frühere Versionen git
einen Berechtigungsnachweis "store" und "cache" lieferten, dies wurde jedoch nicht empfohlen, da das Kennwort im Klartext gespeichert wurde.
ABER
Neuere Versionen von git
speichern anscheinend Git-Anmeldeinformationen in der gnome-keyring
, aber es muss korrekt eingerichtet sein.
Ich habe versucht, anderen (nicht von Ubuntu stammenden) Antworten auf SO zu folgen, um dies zum Laufen zu bringen (nämlich dieser ), aber mir werden immer noch der Benutzername und das Kennwort angezeigt.
Was ist der richtige und sicherste Weg, um git
Anmeldeinformationen für http (s) -Repos zu speichern und wie bringt man sie auf Ubuntu zum Laufen?
quelle
Antworten:
gnome-credential-helper
ist jetzt veraltet.Verwenden Sie stattdessen libsecret. Wenn Ihr Ubuntu noch nicht integriert ist, gehen Sie wie folgt vor:
Sie können
libsecret
die Entwicklungsbibliotheken installieren und verwenden mit:sudo apt-get install libsecret-1-0 libsecret-1-dev
Dann müssen Sie den Anmeldeinformations-Manager erstellen
cd /usr/share/doc/git/contrib/credential/libsecret
sudo make
Zuletzt solltest du git auf die neu erstellte Datei in deiner Konfiguration verweisen :
git config --global credential.helper /usr/share/doc/git/contrib/credential/libsecret/git-credential-libsecret
Weitere Informationen finden Sie unter https://stackoverflow.com/a/40312117/2017781
quelle
Sie müssen den Git
credential helper
mit Gnome Keyring einrichten:Installieren und kompilieren Sie den Gnome Keyring-Entwickler:
Und richten Sie den Berechtigungsnachweis ein:
quelle
git push
odergit pull
wie gewohnt aus, und das erste Mal fragt es ansd store. Danach wird es jedes Mal vom Schlüsselbund abgerufen. Um dies zu überprüfen, führen Sie ausseahorse
. Es sollte unter "Passwörter" -> "Login" aufgeführt sein.Dieser einfache Ansatz scheint auf meinem Ubuntu 18.04.1 mit Git 2.17.1 ausreichend zu sein:
Sie können ein Timeout von einer Stunde (= 3600 Sekunden) wie folgt festlegen:
Lesen Sie weiter im Handbuch .
quelle