Wie deaktiviere ich Passwortabfragen, wenn ich Git Push / Pull mache?
34
Jedes Mal , wenn ich will pushund / oder pullvom Terminal (in Linux) Ich habe ein Passwort einzugeben. Wie entferne ich das, damit es ohne das Passwort zieht und / oder drückt?
Welches Protokoll wird von Ihrer Repo-Adresse verwendet? ssh? https?
Vom
Antworten:
23
Generieren Sie ein privates / öffentliches Schlüsselpaar für die kennwortlose Authentifizierung.
Für Linux werden Ihre Schlüssel in gespeichert ~/.ssh.
Wenn Sie bereits Dateien mit ~/.sshdem Namen id_rsaund haben id_rsa.pub, haben Sie bereits ein Schlüsselpaar. Hängen Sie den Inhalt Ihres öffentlichen Schlüssels id_rsa.puban die Datei ~ / .ssh / authorized_keys des Git-Repository an.
@slhck Ah, daran habe ich nicht gedacht! Es ist jedoch gut zu wissen, welches Betriebssystem whirlwin verwendet, bevor Sie weitere Anweisungen veröffentlichen.
Jin
Danke für den Hinweis. Ich habe die Frage entsprechend aktualisiert!
Whirlwin
1
Wenn ich den ersten Befehl ausführe, erhalte ich Folgendes: Sie verwenden anscheinend ssh, um eine git: // URL zu klonen. Stellen Sie sicher, dass Ihre Option core.gitProxy config und die Umgebungsvariable GIT_PROXY_COMMAND NICHT festgelegt sind. Verbindung verloren
MultiformeIngegno
25
Lauf
git config credential.helper store
Dadurch werden Ihre Anmeldeinformationen in einem Ordner im Stammverzeichnis gespeichert. Nach diesem Befehl müssen Sie git pull / push ausführen und zum ersten Mal den Benutzernamen / pwd eingeben. Poste dies, es wird nicht nach user / pwd gefragt. Details unter https://git-scm.com/docs/git-credential-store
Dies sollte als richtige Antwort für diese Frage ausgewählt werden. IMO wollte das OP nach einer Lösung fragen, um httpszu vermeiden, dass Benutzername / Passwort immer wieder eingegeben werden müssen und nicht zur sshLösung gewechselt wird. 1+ für diese Antwort.
Giang Nguyen
1
Beachten Sie, dass der Hilfsprogramm zum Speichern von Anmeldeinformationen das Kennwort unverschlüsselt auf der Festplatte speichert.
0xc0de
6
Sie können Ihre Passphrase auch einfach ändern und durch eine leere Zeichenfolge ersetzen: ssh-keygen -p
ist das nicht sehr falsch da es keine sicherheit mehr geben wird
titus
3
Vielen Dank. Dies ist die Lösung für Benutzer, die über eine SSH-Schlüsselkonfiguration verfügen, sich jedoch nicht sicher sind, warum sie immer noch eine Passphrase eingeben müssen.
Ich hatte eine neue Filiale angelegt und musste danach beim Ziehen den Benutzernamen und das Passwort eingeben. Anschließend behebe ich das Problem beim erneuten Klonen des Zweigs mit der SSH-Adresse (die sich auf der entsprechenden Repository-Site befindet).
Antworten:
Generieren Sie ein privates / öffentliches Schlüsselpaar für die kennwortlose Authentifizierung.
Für Linux werden Ihre Schlüssel in gespeichert
~/.ssh
.Wenn Sie bereits Dateien mit
~/.ssh
dem Namenid_rsa
und habenid_rsa.pub
, haben Sie bereits ein Schlüsselpaar. Hängen Sie den Inhalt Ihres öffentlichen Schlüsselsid_rsa.pub
an die Datei ~ / .ssh / authorized_keys des Git-Repository an.Wenn Sie kein Schlüsselpaar haben, generieren Sie eines mit
$ ssh-keygen -t rsa
Lesen Sie dies für weitere Anweisungen: http://inchoo.net/tools-frameworks/how-to-generate-ssh-keys-for-git-authorization/
quelle
Lauf
Dadurch werden Ihre Anmeldeinformationen in einem Ordner im Stammverzeichnis gespeichert. Nach diesem Befehl müssen Sie git pull / push ausführen und zum ersten Mal den Benutzernamen / pwd eingeben. Poste dies, es wird nicht nach user / pwd gefragt. Details unter https://git-scm.com/docs/git-credential-store
quelle
https
zu vermeiden, dass Benutzername / Passwort immer wieder eingegeben werden müssen und nicht zurssh
Lösung gewechselt wird. 1+ für diese Antwort.Sie können Ihre Passphrase auch einfach ändern und durch eine leere Zeichenfolge ersetzen:
ssh-keygen -p
quelle
Ich hatte eine neue Filiale angelegt und musste danach beim Ziehen den Benutzernamen und das Passwort eingeben. Anschließend behebe ich das Problem beim erneuten Klonen des Zweigs mit der SSH-Adresse (die sich auf der entsprechenden Repository-Site befindet).
Beispielsweise:
quelle