Ich habe angefangen, Visual Studio Code zu verwenden , und ich habe versucht, mein Testprojekt in GitHub zu speichern , aber Visual Studio Code fragt immer nach meinen GitHub- Anmeldeinformationen.
Ich habe GitHub Desktop auf meinem PC installiert und auch Git habe ich bereits ausgeführt:
git config --global credential.helper wincred
aber immer noch Visual Studio - Code wird für die Anmeldeinformationen zu fragen.
Irgendeine Hilfe?
Hier ist meine .gitconfig- Datei im Benutzerprofil-Folfer:
[filter "lfs"]
clean = git-lfs clean %f
smudge = git-lfs smudge %f
required = true
[user]
name = ddieppa
[user]
email = [email protected]
[credential]
helper = wincred
In den Popup-Fenstern werden Sie nach den Anmeldeinformationen gefragt:
Ich gebe meine GitHub- Anmeldeinformationen in das Popup ein, erhalte jedoch weiterhin diesen Fehler im Git- Ausgabefenster in Visual Studio Code :
remote: Anonymous access to ddieppa/LineOfBizApp.git denied.
fatal: Authentication failed for 'https://github.com/ddieppa/LineOfBizApp.git/'
git
visual-studio
github
visual-studio-code
ddieppa
quelle
quelle
Antworten:
Letzte Aktualisierung: 05. März 2019
Nach 98 Upvotes denke ich, dass ich mit der Erklärung eine echte Antwort geben muss.
Warum fragt der VS-Code nach einem Passwort? Da VSCode die Funktion zum automatischen Abrufen ausführt, verfügt der Git-Server über keine Informationen zum Autorisieren Ihrer Identität. Es passiert, wenn:
https
Remote-URL. Ja! Diese Art von Fernbedienung wird Sie jedes Mal fragen. Keine Ausnahmen hier! (Sie können einen temporären Trick ausführen, um die Autorisierung als folgende Lösung zwischenzuspeichern. Dies wird jedoch nicht empfohlen.)ssl
Remote-URL, ABER Sie haben Ihren öffentlichen SSH-Schlüssel nicht auf den Git-Server kopiert. Verwendenssh-keygen
Sie diese Option, um Ihren Schlüssel zu generieren und auf den Git-Server zu kopieren. Getan! Diese Lösung hilft Ihnen auch dabei, das Kennwort auf dem Terminal nie wieder einzugeben. Eine Antwort finden Sie hier in einer guten Anleitung von @Fnatical .Der aktualisierte Teil am Ende dieser Antwort hilft Ihnen überhaupt nicht wirklich. (Sie stagnieren tatsächlich in Ihrem Workflow.) Es stoppt nur die Ereignisse in VSCode und verschiebt diese Ereignisse auf das Terminal.
Tut mir leid, wenn diese schlechte Antwort Sie schon lange betrifft.
- -
die ursprüngliche Antwort (schlecht)
Ich habe die Lösung im VSCode-Dokument gefunden :
Aktivieren Sie also den Helfer für Anmeldeinformationen, damit Git Ihr Passwort für einige Zeit im Speicher speichert. Standardmäßig speichert Git Ihr Passwort 15 Minuten lang im Cache.
Geben Sie im Terminal Folgendes ein:
Geben Sie Folgendes ein, um das Standardzeitlimit für den Kennwortcache zu ändern:
UPDATE (Wenn die ursprüngliche Antwort nicht funktioniert)
Ich habe VS Code und die Konfiguration oben installiert, aber wie @ddieppa sagte, hat es auch bei mir nicht funktioniert. Also habe ich versucht, eine Option in der Benutzereinstellung zu finden, und ich habe "git.autofetch" = true gesehen, jetzt setze es falsch! VS-Code ist nicht mehr erforderlich, um das Passwort wiederholt einzugeben!
Klicken Sie im Menü auf Datei / Einstellungen / Benutzereinstellung und geben Sie Folgendes ein:
Platzieren Sie Ihre Einstellungen in dieser Datei, um die Standardeinstellungen zu überschreiben
quelle
git config --global credential.helper cache
. Werfen Sie einen Blick auf git-scm.com/book/gr/v2/Git-Tools-Credential-Storage für weitere Details.Sie sollten in der Lage sein, Ihre Anmeldeinformationen wie folgt festzulegen:
git remote set-url origin https://<USERNAME>:<PASSWORD>@bitbucket.org/path/to/repo.git
Sie können die Remote-URL folgendermaßen abrufen:
git config --get remote.origin.url
quelle
Dies hat bei mir funktioniert:
1. Stellen Sie den Hepler für Anmeldeinformationen auf Speichern ein.
$ git config --global credential.helper store
2. Überprüfen Sie dann, ob Sie Folgendes möchten:
$ git config --global credential.helper store
Einfaches Beispiel für die Verwendung von Git Bash, zitiert aus Here (funktioniert nur für das aktuelle Repo,
--global
für alle Repos verwenden)Funktioniert auch für VS Code.
Detaillierteres Beispiel und erweiterte Verwendung hier .
Hinweis: Benutzername und Passwort werden nicht verschlüsselt und im Nur-Text-Format gespeichert. Verwenden Sie sie daher nur auf Ihrem PC.
quelle
store
geschafft.https
zussh
und die Nutzung SSH - Schlüssel als Alternative.Die folgenden Schritte führen Sie durch die folgenden Schritte:
** Das Generieren von SSH-Schlüsseln ohne Passphrase ist unklug, wenn Ihre Arbeit besonders sensibel ist.
OS - Fedora 28 | Editor - VS Code v1.23.0 | Repository - Git
SSH-Schlüssel generieren:
ssh-keygen -t rsa -C "[email protected]"
Nachdem Sie die obigen Schritte ausgeführt haben, wird die Position Ihres öffentlichen Schlüssels im Terminalfenster angezeigt. Wenn der aktuell angemeldete Benutzer "bob" ist, lautet der Speicherort Ihres öffentlichen Schlüssels /home/bob/.ssh/id_rsa.pub
Kopieren Sie den öffentlichen Schlüssel und importieren Sie ihn in GitHub:
cat /home/bob/.ssh/id_rsa.pub
Kopieren Sie den gesamten öffentlichen Schlüssel, der jetzt in Ihrem Terminalfenster angezeigt wird, in die Zwischenablage
Bestätigen Sie die obigen Schritte:
ssh -T [email protected]
yes
Hallo ! Sie haben sich erfolgreich authentifiziert, aber GitHub bietet keinen Shell-Zugriff.
Zuerst festschreiben / pushen, ohne einen Benutzernamen / ein Passwort eingeben zu müssen: -
touch test.txt
git add test.txt
git commit
- öffnet den Editor, gibt eine Nachricht ein und speichert die Datei. Wenn vi Ihr Editor ist, drücken Sie,i
sobald die Datei geöffnet ist, geben Sie eine Nachricht ein, drücken Sie die Esc-Taste und dann die Eingabetaste:x
, um die Änderungen zu speichern.git push
Das einzige Problem, das auftreten kann, ist der Versuch, SSH an GitHub zu senden. Dieser Link bietet Unterstützung -
Fröhliches Jagen!
quelle
Versuchen Sie, " Git Credential Manager für Windows " zu installieren (und befolgen Sie die Anweisungen zum Einrichten des Anmeldeinformations-Managers ).
Wenn dies in einer App mit Git (z. B. VS-Code) erforderlich ist, wird der erforderliche Dialog für die Eingabe der Anmeldeinformationen für Visual Studio Team Services "auf magische Weise " geöffnet.
quelle
ssh-agent
schon. Aber VS Code scheint das unter Linux zu ignorieren.Ich musste nur diesen Befehl ausführen:
git config --global credential.helper wincred
Dann wurde ich zweimal zur Eingabe eines Passworts aufgefordert.
Das nächste Mal hat es funktioniert, ohne mich zur Eingabe eines Passworts aufzufordern.
quelle
store
anstelle vonwincred
.git config --global credential.helper 'cache --timeout==1209600'
, um es für 2 Wochen anstatt der Standard 15 Minuten dauern zu lassen. Quelle: help.github.com/de/github/using-git/…store
finden Sie hier: git-scm.com/docs/gitcredentials git-scm.com/docs/git-credential-cache git-scm.com/docs/git-credential-store speichert es dauerhaft im Scheibe. Außerdem hat mein vorheriger Kommentar einen Fehler: nicht verwenden==
, verwenden=
. Zum Bearbeiten zu spät.Verwenden Sie ssh anstelle von http / https.
Sie müssen SSH-Schlüssel auf Ihrem lokalen Computer festlegen, auf Ihren Git-Server hochladen und das URL-Formular ersetzen
http://
,git://
und Sie müssen keine Passwörter mehr verwenden.Wenn Sie ssh nicht verwenden können, fügen Sie dies Ihrer Konfiguration hinzu:
Dokumente sind hier .
Verwenden des SSH-Schlüssels in Github
Befolgen Sie einfach diese Schritte und Sie werden Ihren SSH-Schlüssel in kürzester Zeit einrichten:
Generieren Sie einen neuen SSH-Schlüssel (oder überspringen Sie diesen Schritt, wenn Sie bereits einen Schlüssel haben).
ssh-keygen -t rsa -C "your@email"
Sobald Sie Ihren Schlüssel im
home/.ssh
Verzeichnis (oderUsers/<your user>.ssh
unter Windows) festgelegt haben, öffnen Sie ihn und kopieren Sie den InhaltWie füge ich einen sh-Schlüssel zum Github-Konto hinzu?
SSH keys
Add ssh key
Und ihr macht euch bereit :-)
quelle
Im Allgemeinen können Sie die integrierten Speicherfunktionen für Anmeldeinformationen verwenden:
git config --global credential.helper store
Wenn Sie unter Windows arbeiten, können Sie auch das Anmeldeinformationssystem verwenden:
git config --global credential.helper wincred
Wenn Sie unter MacOS arbeiten, können Sie auch das Anmeldeinformationssystem verwenden:
git config --global credential.helper osxkeychain
Die erste Lösung ist in den meisten Situationen optimal.
quelle
Automatische Git-Authentifizierung . Von der v1.45 Release Notes :
quelle
askpass = /usr/bin/ksshaskpass
in meinem überschrieben.gitconfig
und als Ergebnis wurde ich jedes Mal nach Benutzername und Passwort gefragt. Dies wird wahrscheinlich mehr verbessert, wenn die Rollen der Version 1.45 auf mehr Computern verfügbar sind.Für Windows 10: Gehen Sie zu Systemsteuerung / Anmeldeinformations-Manager / Windows-Anmeldeinformationen -> klicken Sie auf den Git-Link, -> Bearbeiten -> Auf neues Kennwort aktualisieren. Das sollte funktionieren
quelle
Verwenden Sie einen SSH-Schlüssel ohne Passphrase.
Vielleicht ist das für einige offensichtlich (für mich nicht). Es löst das Problem auch nicht, wenn Sie unbedingt eine Passphrase benötigen, aber dies war ein anständiger Kompromiss in meiner Situation auf dem Mac.
quelle
Nachdem ich eine Weile mit so etwas gekämpft habe, denke ich, dass ich eine gute Lösung gefunden habe, insbesondere wenn ich mehrere Konten sowohl über GitHub als auch über BitBucket habe. Für VSCode wurde es jedoch letztendlich von einem Git Bash-Terminal aus gestartet, sodass es die Umgebungsvariablen von der Bash-Sitzung erbte und wusste, welcher SSH-Agent zu betrachten ist.
Mir ist klar, dass dies ein alter Beitrag ist, aber ich hatte immer noch große Mühe, einen Ort zu finden, an dem ich die benötigten Informationen erhalten konnte. Außerdem hat ssh-agent seit 2017 die Möglichkeit, Sie nur dann zur Eingabe einer Passphrase aufzufordern, wenn Sie versuchen, auf ein Repo zuzugreifen.
Ich stelle meine Ergebnisse hier nieder , wenn jemand interessiert ist:
quelle
Nach diesem Artikel :
Sie können einfach GIT_SSH env festlegen. var. zum plink.exe-Programm des Putty. (Verwenden Sie dann die Datei pageant.exe als Authentifizierungsagenten.)
quelle
Lösen Sie das Problem, indem Sie die folgenden Schritte ausführen.
Deinstallierte Software Vscode und git und neu installiert. Die URL des Git-Repository-Klons wurde von ssh in https geändert.
quelle
Ich hatte ein ähnliches Problem in Visual Studio Code.
Ich habe das Problem gelöst, indem ich die Remote-URL in https geändert habe . (in der Datei .git / config)
und auch
erneut gezogen, Windows-Anmeldeinformations-Popup kam heraus, Probleme gelöst.
quelle
Für mich hatte ich mein Remote-Repo mit einem SSH-Schlüssel eingerichtet, aber Git konnte sie nicht finden, da die Umgebungsvariable HOMEDRIVE aufgrund der Domänenrichtlinie meines Unternehmens automatisch auf eine Netzwerkfreigabe festgelegt wurde. Das Ändern dieser Umgebungsvariablen in meiner Shell vor dem Start
code .
führte dazu, dass VSCode die richtige Umgebungsvariable erbte und keine Verbindungsfehler mehr im Git-Ausgabefenster auftraten.Jetzt muss ich nur noch herausfinden, wie die Domänenrichtlinie überschrieben werden kann, damit HOMEDRIVE immer auf mein lokales
c:\users\marvhen
Verzeichnis verweist, das der Standardspeicherort für das.ssh
Verzeichnis ist.quelle
Ich habe es geschafft, dies zu stoppen, indem ich die folgenden Schritte ausgeführt habe.
cd "C:\Program Files\Git\mingw64\libexec\git-core"
gefolgt vongit-credential-manager.exe uninstall
git config --global credential.helper wincred
HINWEIS: Ich habe ein persönliches Zugriffstoken als Passwort verwendet.
quelle
Ich habe ein ähnliches Problem auf einfache Weise gelöst:
git pull origin master
. Ersetzen Sie 'origin' durch Ihren Remote-NamenDas ist alles. Ich habe das Problem gelöst
quelle
abgesehen vom Hinzufügen der obigen ssh-Konfigurationseinträge
wenn Windows
In Powershell sollte der vs-Code jetzt nicht mehr auffordern ...
quelle
Für Windows 10 drücken Sie die Windows-Taste und geben Sie "Credential Manager" ein. Klicken Sie in der Systemsteuerung auf "Credential Manager", um die zugehörigen zwischengespeicherten Anmeldeinformationen zu öffnen und dann zu entfernen .
Ist mir passiert, als ich mein Netzwerkkennwort geändert habe
quelle
Normalerweise führe ich diesen einfachen Befehl aus, um die git-Remote-URL von https zu ändern in ssh
quelle