Git Push erfordert Benutzername und Passwort
Ich geklont einem git-repository aus meinem Github-account auf meinem PC.
Ich will mit meinen beiden PC und laptop, aber mit einem Github-account.
Wenn ich versuchen, zu schieben oder ziehen von Github mit meinem PC, es erfordert Benutzernamen und Kennwort, aber nicht, wenn Sie mit dem laptop!
Ich will nicht zu geben meinen Benutzernamen und mein Passwort jedes mal, wenn ich die Interaktion mit origin.
Was ich hier vermisst?
InformationsquelleAutor der Frage TooCooL | 2011-07-03
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ein häufiger Fehler ist das Klonen mit den Standard (HTTPS) anstatt SSH. Sie können dies korrigieren, indem Sie auf das repository, klicken Sie auf "Kopierstempel" und "download", dann auf die Schaltfläche "SSH Verwenden" - button über dem URL-Feld und aktualisieren Sie die URL von Ihrem Ursprung entfernten, wie diese:
Dies ist dokumentiert bei GitHub: Die Umschaltung von remote-URLs, die aus HTTPS-und SSH.
InformationsquelleAutor der Antwort Tekkub
Dauerhaft zu authentifizieren, die mit Git-repositories
Führen Sie folgenden Befehl zum aktivieren der die Zwischenspeicherung von Anmeldeinformationen:
Verwenden, sollten Sie auch angeben, caching verfallen,
Nach dem aktivieren der Zwischenspeicherung von Anmeldeinformationen, wird es zwischengespeichert werden 7200 Sekunden (2 Stunden).
InformationsquelleAutor der Antwort Jay Patel
Ich kam gerade über das gleiche problem, und die einfachste Lösung, die ich fand, war der Einsatz von SSH-URL anstelle von HTTPS:
Und nicht dieses:
Können Sie jetzt überprüfen mit nur die
SSH Key
statt derusername
undpassword
.InformationsquelleAutor der Antwort Anton Salikhmetov
Abgesehen vom Wechsel auf SSH können Sie auch weiterhin verwenden HTTPS, wenn Sie nichts dagegen haben, setzen Ihr Passwort im Klartext. Setzen Sie diese in Ihre
~/.netrc
und es wird nicht Fragen Sie nach Ihrem Benutzernamen/Passwort ein (mindestens unter Linux und Mac):Neben (siehe VonC 2. Kommentar): unter Windows ist der name der Datei
%HOME%\_netrc
.Lesen Sie auch VonC ' s Erster Kommentar in Fall, dass Sie verschlüsseln möchten.
Eine weitere Ergänzung (siehe user137717 Kommentar), die Sie verwenden können, wenn Sie git 1.7.10 oder höher.
Cache der github-Passwort in git mit einem credential helper - :
Dies funktioniert auch auf Linux, Mac und Windows.
InformationsquelleAutor der Antwort rintcius
Für die Uneingeweihten Menschen, die verwirrt sind durch die bisherigen Antworten, die Sie tun können:
git remote -v
die reagieren etwas wie
dann können Sie den Befehl viele andere vorgeschlagen haben, aber jetzt wissen Sie, ihrname und yourrepo von oben, so können Sie einfach Ausschneiden und einfügen
yourname/yourrepo.git
von oben inInformationsquelleAutor der Antwort Davide
Wenn Sie mit ssh und private key ist mit einer passphrase gesichert ist, dann werden Sie dennoch aufgefordert werden, geben Sie die passphrase/Passwort für den privaten Schlüssel, wenn Sie tun, Netzwerk-Operationen mit Git wie
push
pull
undfetch
.Verwenden Sie ssh-agent zum speichern privater Schlüssel-passphrase/Passwort
Wenn Sie möchten, um zu vermeiden, dass Ihre passphrase einzugeben, jedes mal, die Sie verwenden können
ssh-agent
zum speichern Ihrer privaten Schlüssel passphrase Anmeldeinformationen einmal pro terminal session, wie ich erklären, in meine Antwort Konnte nicht geöffnet werden eine Verbindung zum Authentifizierungs-agent:In einer Windows-msysgit Bash, die Sie brauchen, um zu bewerten die Leistung von
ssh-agent
aber ich bin mir nicht sicher, ob Sie brauchen, um das gleiche zu tun in anderen Entwicklungsumgebungen und Betriebssystemen.ssh-add
sieht für einen privaten Schlüssel in Ihrem home -.ssh
Ordner namensid_rsa
die die Standard-Namen, aber Sie passieren kann einen Dateipfad zu einem Schlüssel mit einem anderen Namen.Töten der agent
Wenn Sie fertig sind mit Ihrem terminal-Sitzung können Sie Herunterfahren
ssh-agent
mit der kill-flag-k
:Wie in der
ssh-agent
manuell:Optionalen timeout
Auch, es kann ein optionales timeout-parameter wie folgt:
wo
<timeout>
ist das format<n>h
für<n>
Stunden<n>m
für<n>
Minuten, und so weiter.Entsprechend der
ssh-agent
manuell:Siehe diese Seite für mehr Zeit-Formate.
Sicherheitswarnung für Cygwin-Nutzer
Cygwin-Nutzer sollten sich bewusst sein, ein potenzielles Sicherheitsrisiko bei Verwendung von ssh-agent in Cygwin:
Und an der zitiert link:
InformationsquelleAutor der Antwort
Quelle: Set Up Git
Wird der folgende Befehl speichern Sie Ihr Passwort im Speicher für einige Zeit.
(Für git 1.7.10 oder neuer.)
InformationsquelleAutor der Antwort Sagar Rakshe
Wenn Sie https für git-pull & push, nur config
remote.origin.url
für Ihr Projekt, um zu vermeiden, geben Sie Benutzernamen (oder/und Passwort) jedes mal, wenn Sie drücken.Wie config
remote.origin.url
:@Update - mit
ssh
Ich denke, mit
ssh
- Protokoll ist eine bessere Lösung alshttps
obwohl die setup-Schritt ist ein wenig komplexer.Groben Schritten:
ssh-keygen
auf linux, auf windowsmsysgit
bieten ähnliche Befehle.~/.ssh
. Und fügen Sie Sie zu ssh-agent überssh-add
Befehl.remote.origin.url
git-repository zussh
Stil, - e.g[email protected]:myaccount/myrepo.git
Tipps:
@Update - Wechseln Sie zwischen
https
undssh
Protokoll.Einfach ändern
remote.origin.url
genug sein, oder Sie können Bearbeitenrepo_home/.git/config
direkt um den Wert zu ändern (e.g mitvi
auf linux).Ich in der Regel fügen Sie eine Zeile für jedes Protokoll und Kommentar aus einer von Ihnen mit
#
.e.g
InformationsquelleAutor der Antwort Eric Wang
Können Sie den cache Ihres GitHub-Passwort Git:
Folgen Sie einfach den Anweisungen aus dem github ist offizielle Dokumentation.
Nachdem Sie die Anweisungen aus dem obigen link, den Sie sollten in der Lage sein, um push/pull-zu/von Ihrem repo-ohne Eingabe von Benutzername/Passwort jedes mal.
InformationsquelleAutor der Antwort K M Rakibul Islam
Was für mich gearbeitet wurde, zu Bearbeiten
.git/config
und verwendenEs geht ohne zu sagen, dass dies eine unsichere Weise, Ihr Kennwort zu speichern, aber es gibt Umgebungen/Fällen, in denen dies kann nicht ein problem sein.
InformationsquelleAutor der Antwort WoJ
Update für HTTPS:
Github hat ein neues Programm für Windows, speichert Ihre Anmeldeinformationen, wenn Sie HTTPS verwenden:
Verwenden:
Laden Sie das Programm aus hier
Sobald Sie das Programm ausführen, es wird Bearbeiten Sie Ihre
.gitconfig
- Datei. Überprüfen Sie, ob es bearbeitet die richtige.gitconfig
im Falle haben Sie mehrere von Ihnen. Wenn es nicht Bearbeiten, korrigieren, fügen Sie Folgendes zu Ihrer.gitconfig
HINWEIS: der Zeilenumbruch nach
[credential]
. Es ist erforderlich.Öffnen Sie Ihre Kommandozeilen-client, und versuchen Sie
git push origin master
einmal. Wenn es fragt Sie nach einem Passwort, geben Sie es und Sie sind durch. Das Passwort wurde gespeichert!InformationsquelleAutor der Antwort Varun Achar
Haben Sie grundsätzlich zwei Optionen.
Wenn Sie die gleichen Benutzer auf beiden Rechnern müssen Sie kopieren die .pub key auf Ihren PC, so dass github weiß, dass Sie die gleichen Benutzer.
Wenn Sie neu angelegt haben .pub-Datei für Ihren PC und wollen zu behandeln, die Maschinen wie verschiedene Benutzer, müssen Sie die Registrierung der neuen .pub-Datei auf der github-website.
Wenn dies immer noch nicht funktioniert, könnte es sein, weil ssh nicht richtig konfiguriert ist und, dass ssh nicht zu finden, die Position Ihrer Schlüssel. Versuchen
Um mehr Informationen zu erhalten, warum SSH fehlschlägt.
InformationsquelleAutor der Antwort ralphtheninja
Ich hatte das gleiche Problem.
so ändern Sie die .git/config-Datei aus meinem Projekt
zu
und fügen Sie den öffentlichen ssh-Schlüssel, um die git-Profil in der Einstellung.
für ssh-public-key
InformationsquelleAutor der Antwort shrikant
Hier ist eine weitere option:
Statt zu schreiben
Könnten Sie schreiben:
Offensichtlich mit den meisten shells wird dieses Passwort immer zwischengespeichert in der Geschichte, also behalte das im Hinterkopf.
InformationsquelleAutor der Antwort Lacho Tomov
Wenn Sie mit git (ex. git-bash) unter Windows
(und wenn Sie nicht wechseln wollen, aus https-und ssh)
könnten Sie auch http://gitcredentialstore.codeplex.com/
Diese Anwendung wird halten Sie Benutzernamen und Passwort für Sie...
InformationsquelleAutor der Antwort boly38
Da viele user gesagt hat, Sie müssen nur Ihr git-repositorie-URL von https-und SSH.
Wenn Sie noch nicht erzeugten SSH-key in Ihrem Rechner haben, dann sind Sie gehen zu müssen, um es zu tun.
Nur als eine zusätzliche information, nach dieser änderung, war ich noch immer den gleichen Fehler: Erlaubnis Verweigert.
In meinem Fall, das problem war, dass ich mithilfe der Windows-Shell zum ausführen der ngh-Befehl, da dieser Befehl sollte öffnen Sie eine Eingabeaufforderung auf Anfrage der SSH-Satz und die Windows-Shell nicht öffnen diese Arten von Eingabeaufforderungen, die Authentifizierung scheitern.
So, ich musste Sie nur öffnen Sie die git-shell und führen Sie den ngh Befehl gibt, setzen Sie den SSH-Satz in der Eingabeaufforderung jedes mal, wenn Sie gefragt, für Sie, und "voilà"... Es funktionierte einfach gut!
InformationsquelleAutor der Antwort Thisisalexis
Wenn der ssh-Schlüssel oder .netrc nicht funktioniert für Sie, dann eine weitere einfache, aber weniger sichere Lösung, die funktionieren könnte für Sie git-credential-store - Helfer, um Anmeldeinformationen zu speichern auf der Festplatte
Standardmäßig die Anmeldeinformationen gespeichert werden
~/.git-credentials
. Es wird erstellt und geschrieben.Bitte beachten Sie die Verwendung dieser Helfer speichert die Passwörter unverschlüsselt auf der Festplatte, nur geschützt von Dateisystem-Berechtigungen. Wenn dies keine akzeptable security-tradeoff.
InformationsquelleAutor der Antwort rumman0786
Müssen Sie führen Sie 2 Schritte -
Beachten Sie die git-url ist eine
ssh
url eine https-url .., Die u können wählen Sie von hier aus.InformationsquelleAutor der Antwort sapy