Konfigurieren Sie git, um mit Timeout nur einmal nach dem Passwort zu fragen
Wenn ich git pull
oder git push
ausführe, werde ich immer nach einem Passwort gefragt.
Ich habe auf Rackspeed ein öffentliches/privates Schlüsselpaar generiert.
Ich habe mein Projekt in Bitbucket geöffnet: Einstellungen - > Allgemein - > Zugriffsschlüssel und fügte meinen öffentlichen Schlüssel hinzu.
Dann habe ich git wie konfiguriert, hier gesehen, so dass es sich das Passwort für 600 Sekunden merkt.
git config --global credential.helper 'cache --timeout=600'
Ich habe sichergestellt, dass meine Git-URL nicht https ist:
origin [email protected]:company/example.git (fetch)
origin [email protected]:company/example.git (push)
Dann habe ich git pull
ausgeführt. Es fragte für das Passwort zum ersten Mal. Dann habe ich git pull
erneut ausgeführt, aber es wird immer noch nach dem Passwort gefragt.
3 answers
Da Sie eine SSH-Fernbedienung verwenden, werden Sie von OpenSSH zur Eingabe Ihres Passworts aufgefordert, nicht von Git. Git behandelt keine Passwörter für OpenSSH (da dies nicht trivial ist), sodass die Konfiguration der Anmeldeinformationshelfer von Git keine Auswirkungen hat.
Wenn Sie die Credential-Helfer von Git verwenden möchten, müssen Sie eine HTTPS-Fernbedienung verwenden.
Alternativ können Sie das Passwort mit dem Programm ssh-agent
speichern. Sie können eval $(ssh-agent -s)
in Ihrer Shell ausführen und dann ssh-add
ausführen, um den Schlüssel hinzuzufügen. Du wirst sein einmal nach Ihrer Passphrase gefragt, aber nicht wieder in diesem Terminal.
Es ist möglich, dass Ihre Umgebung bereits einen SSH-Agenten für Sie eingerichtet hat. Sie können env | grep SSH_AUTH_SOCK
und wenn es etwas ausgibt, können Sie einfach ssh-add
und müssen nicht den ersten Befehl ausführen.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2020-02-04 01:40:46
Lassen Sie Git den Benutzernamen und das Passwort speichern und es wird niemals danach gefragt.
git config --global credential.helper store
Speichern Sie den Benutzernamen und das Passwort für eine Sitzung (zwischenspeichern):
git config --global credential.helper cache
Sie können auch ein Timeout für die obige Einstellung festlegen:
git config --global credential.helper 'cache --timeout=600'
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2020-12-14 16:59:42
Versuchen Sie, dies auf dem Terminal zu verwenden, um Ihre Anmeldeinformationen zu speichern:
$ git config credential.helper store
$ git push http://example.com/repo.git
Username: <type your username>
Password: <type your password>
Git fragt bei git push
oder git pull
nicht erneut nach dem Passwort.
Lesen Sie auch: git help credentials
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2020-01-31 09:05:19