GitHub Fehlermeldung - Permission denied (publickey)
Jemand diesen Fehler gesehen und wissen, was zu tun ist?
Ich bin mit dem terminal, ich bin in der Wurzel, auf der GitHub-repository vorhanden ist, und ich weiß nicht, was jetzt zu tun sei.
> git push -u origin master
Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
InformationsquelleAutor der Frage webwrks | 2012-10-17
Du musst angemeldet sein, um einen Kommentar abzugeben.
GitHub ist nicht in der Lage, um Sie zu authentifizieren. Also, entweder sind Sie nicht setup mit einem SSH-Schlüssel, weil Sie nicht die Einrichtung eines Kontos auf Ihrem Gerätoder Ihr Schlüssel ist nicht in Verbindung mit Ihrem GitHub-account.
Können Sie auch die HTTPS-URL anstelle des SSH - /git-URL um zu vermeiden, dass befassen sich mit SSH-keys. Dies ist GitHub ist die empfohlene Methode.
Weiter, GitHub hat eine Hilfe-Seite, die speziell für diese Fehlermeldungund erklärt im detail alles, was Sie prüfen konnte.
InformationsquelleAutor der Antwort bdukes
Müssen Sie erzeugen einen SSH key (wenn Sie keine haben) und ordnen Sie die öffentlichen Schlüssel mit Ihrem Github-account. Sehen Github eigene Dokumentation.
InformationsquelleAutor der Antwort cdhowie
Hast du eine config Datei in deinem ~/.ssh-Verzeichnis? Es soll einen Inhalt haben wie diese:
Angenommen, man erstellt eine ssh-Schlüssel mit dem Namen github_rsa
hochgeladen und es auf GitHub...
HINWEIS: Sie müssen diesen Weg gehen für die explizite Konfiguration wenn Sie mehr als 1 Taste (2 und mehr) in Ihr ~/.ssh/- Verzeichnis. Wenn Sie nicht angeben, welche Taste diese Weise, dann erst der Schlüssel, um die genommen und für github-Authentifizierung, so kommt es auf das Schlüssel-Datei-Namen dann.
InformationsquelleAutor der Antwort Igor Ganapolsky
Mir das passiert. Für einige Grund meiner Herkunft bekam, Durcheinander, ohne meine es zu merken:
Überprüfen, ob die Einstellungen noch richtig sind
die url muss so etwas wie ssh://[email protected]/YourDirectory/YourProject.git;
wenn Sie nicht sehen, [email protected] verwenden Sie
ist, das zu ändern. Oder nutzen Sie die github-app, um zu überprüfen, und legen Sie die Primäre Remote-Repository-url in den Einstellungen Ihres jeweiligen repository.
InformationsquelleAutor der Antwort rmundo
Kenne ich dieses problem. Nach hinzufügen von ssh-Schlüssel, fügen Sie ssh-Schlüssel zu ssh-agent zu (aus oficial docs https://help.github.com/articles/generating-ssh-keys/)
Nachdem es alle arbeiten fein, der git-Ansicht richtigen Schlüssel, bevor Sie coudn ' T,.
InformationsquelleAutor der Antwort Anton
Zuerst müssen wir überprüfen bestehende ssh-Schlüssel auf Ihrem computer. Öffnen Sie Terminal und führen:
und das wird listet die Dateien in Ihr .ssh-Verzeichnis
Und schließlich je nachdem, was Sie sehen (in meinem Fall war):
Nur versuchen Sie die Einrichtung Ihrer RSA-und hoffentlich lösen Ihre "git push origin" Probleme
$ ssh-keygen -lf ~/.ssh/github_rsa.pub
HINWEIS: RSA-Zertifikate sind Schlüssel-gepaart, so haben Sie ein privates und ein öffentliches Zertifikat, private nicht zugänglich für Sie, da gehört es auf github (in diesem Fall), aber die öffentlichkeit ist, die Sie möglicherweise fehlen, wenn dieser Fehler passiert (zumindest war das mein Fall, mein github-account oder repo bekam, Durcheinander irgendwie, und ich hatte zu "link" die public-key, zuvor erzeugten)
InformationsquelleAutor der Antwort d1jhoni1b
Vorausgesetzt, Sie sind die Verbindung GitHub über SSH können Sie unter-Befehl, um dies zu bestätigen.
Wenn Sie ein Ergebnis hat Folgendes format [email protected]:xxx/xxx.github.com.git dann sollten Sie das folgende tun.
Erzeugen einen SSH key(oder vorhandene). wenn Sie eine haben, müssen Sie nur fügen Sie Ihren Schlüssel dem ssh-agent (Schritt 2)und zu deinem GitHub-account(Schritt 3).
unten sind für diejenigen, die nicht über einen SSH-Schlüssel.
Schritt 1 Generating public/private rsa key pair.
Werden Sie aufgefordert, zu bestätigen, wo Sie zu speichern der SSH-Schlüssel und was passphrase, die Sie verwenden möchten.
Schritt 2 Fügen Sie Ihren Schlüssel dem ssh-agent
Gewährleisten ssh-agent aktiviert ist
$eval "$(ssh-agent -s)"
Fügen Ihren SSH-Schlüssel auf dem ssh-agent:
$ssh-add ~/.ssh/id_rsa
Schritt 3 Fügen Ihren SSH-Schlüssel auf Ihrem Konto
$sudo apt-get install xclip
$xclip -sel clip < ~/.ssh/id_rsa.pub
Dann fügen Sie den kopierten Schlüssel auf GitHub
Gehen Einstellungen->SSH-Schlüssel(Persönliche Einstellungen, Seitenleiste)->Add SSH key->füllen Sie das Formular(key ist auf Ihre Zwischenablage, einfach per Strg+v)->Add key
Nachdem Sie durch oben genannten Schritte, sollten Sie lösen der Erlaubnis problem.
Referenz-Link:
Generieren von SSH-keys.
InformationsquelleAutor der Antwort xinerd
War ich immer diesen Fehler. Stellt sich heraus, ich hatte nur ein Upgrade für OSX zu Sierra und mein Alter key wurde nicht mehr registriert.
Zuerst dachte ich, es war "Upgrade auf macOS Sierra brechen Sie Ihre SSH-Schlüssel und sperren Sie aus Ihrem eigenen Server"
Aber ich umgangen habe. Stellt sich heraus, ich musste einfach wieder melden meine vorhandenen Schlüssel:
ssh-add -K
Und geben Sie die passphrase eingeben... fertig!!
InformationsquelleAutor der Antwort jfunk
Falls Sie keinen Zugriff auf Ihr eigenes repository, oder Klonen innerhalb einer geklonten repository (mit einigen "git submodule..." - Befehle):
Im home-Verzeichnis des Projektarchivs:
1. Open ".gitmodules", und finden Sie so etwas wie dieses:
Ändern Sie die Letzte Zeile der HTTPS das repository aus, das Sie ziehen müssen:
Speichern ".gitmodules"und laufen der Befehl für Submodule, und ".git" aktualisiert.
2. Open ".git", gehen Sie zu "config" - Datei, und Sie werden etwas finden wie diese:
Ändern Sie die Letzte Zeile der HTTPS das repository aus, das Sie ziehen müssen:
So, in diesem Fall, das Hauptproblem ist einfach mit der url. HTTPS von jedem repository gefunden werden kann jetzt oben auf der repository-Seite.
InformationsquelleAutor der Antwort N. Osil
Stellen Sie sicher
ssh-add -l
zeigt einen fingerprint eines SSH-Schlüssels, die in die Liste der SSH-Schlüssel in Ihrem Github-account.Wenn die Ausgabe leer ist, aber Sie wissen, Sie haben einen privaten SSH-Schlüssel, die mit Ihrem github-account, laufen
ssh-add
auf diesem Schlüssel (gefunden in~/.ssh
. Es ist benanntid_rsa
standardmäßig, so dass Sie wahrscheinlich laufenssh-add id_rsa
).Anderen Folgen diese Anweisungen zum generieren eines SSH-Schlüssel-paar .
InformationsquelleAutor der Antwort Rose Perrone
War ich mit github früher in einem meiner php-Projekt. Während mit github war ich mit ssh anstelle von https. Ich hatte meine Maschine einrichten wie, und jedes mal, wenn ich verwendet, um zu Begehen, und drücken Sie den code, er würde mich bitten, meinen rsa-key-Passwort.
Nach einigen Tagen, habe ich aufgehört zu arbeiten auf das php-Projekt und habe mein rsa-Passwort. Vor kurzem, ich fing mit der Arbeit an einem java-Projekt und zog nach bitbucket. Da hatte ich das Passwort vergessen und es ist keine Möglichkeit, Sie wiederherzustellen ich denke, ich entschied mich für die Verwendung des https(empfohlen) Protokoll für das neue Projekt und habe den gleichen Fehler aufgefordert, in der Frage.
Wie ich es gelöst?
Lief mit diesem Befehl sagen mein git für die Verwendung von https anstelle von ssh:
Entfernen Sie alle remote-wenn überhaupt
Wiederholen alles von git init zu git push und es funktioniert!
PS: ich habe auch nicht installierten ssh von meinem Rechner während des debug-Prozess zu denken, dass, es zu entfernen, wird das problem zu beheben. Ja, ich weiß!! 🙂
InformationsquelleAutor der Antwort Sizzler
Ich glaube, ich habe die beste Antwort für Sie, Ihre git-apps lese deine id_rsa.pub in root-Benutzer-Verzeichnis
Deshalb Ihren Schlüssel in /home/your_username/.ssh/id_rsa.pub kann nicht gelesen werden von git. So müssen Sie den Schlüssel erstellen in /home/root/.ein.ssh/
Dann kopieren Sie den Schlüssel in Ihrem github-account.
Es ist für mich gearbeitet. Sie können es versuchen.
InformationsquelleAutor der Antwort regex
Eine andere Lösung :
erstellen der SSH-Schlüssel, Typ
ssh-keygen -t rsa -C "[email protected]"
. Dadurch wird sowohl id_rsa und id_rsa.pub-Dateien.Fügen Sie die id_rsa ssh-Liste auf dem lokalen computer:
ssh-add ~/.ssh/id_rsa.
Nach dem generieren der Schlüssel der pubkey mit :
bekommen Sie so etwas wie :
kopieren Sie diesen Schlüssel (Wert) und gehen Sie zu github.com und unter der Einstellung (ssh-und pgp-Schlüssel) fügen Sie Ihren öffentlichen Schlüssel.
InformationsquelleAutor der Antwort Badr Bellaj
dieser arbeitete für mich:
1 - entfernen Sie alle Ursprünge
(vgl. https://www.kernel.org/pub/software/scm/git/docs/git-remote.html)
*remote : "Verwalten der Gruppe von repositories ("Fernbedienungen"), dessen Zweige, die Sie verfolgen.
*rm : "Entfernen Sie die remote-namens . Alle remote-tracking branches und Konfigurations-Einstellungen für den remote-entfernt werden."
2 - überprüfen Sie alle entfernt worden :
3 - fügen Sie neue origin master
that ' s all folks!
InformationsquelleAutor der Antwort marcdahan
Möchte ich einige meiner Erkenntnisse:
Wenn Sie
GitBash
dann stellen Sie sicher, dass der SSH-Schlüssel gespeichert ist in~/.ssh/id_rsa
.Standardmäßig
GitBash
sucht~/.ssh/id_rsa
als Standard-Pfad für die SSH-Schlüssel.Sogar den Namen der Datei
id_rsa
Angelegenheiten. Wenn Sie speichern Sie Ihre SSH-Schlüssel in einen anderen Dateinamen oder Pfad, wird es werfen diePermission Denied(publickey)
Fehler.InformationsquelleAutor der Antwort vinaykumar2491
Wenn Sie bereits einen SSH-key und sind noch immer die Fehler, es ist, weil Sie brauchen, um dem Benutzer Berechtigungen zum Lesen und schreiben in den Ordner, den Sie Klonen. Um dies zu tun,
sudo chmod 777 <your_folder_name_here>"
.Natürlich, dies, nachdem Sie generiert haben, ein SSH-Schlüssel, und Sie sind noch immer diese Fehlermeldung. Hoffe das hilft zukünftigen Nutzern.
Bearbeiten
Hinzufügen, um diese verwenden Sie admin in Windows, wenn Sie mit der git bash
InformationsquelleAutor der Antwort Kevin
Ich hatte das gleiche Problem vor kurzem. Dies könnte helfen, wenn Sie brauchen, ein Update sofort, aber das muss getan werden, jedes mal, wenn Sie starten Sie das system neu
Vom terminal ausführen :
ssh-add ~/.ssh/id_rsa
Geben Sie Ihre system-Passwort und das sollte funktionieren.
InformationsquelleAutor der Antwort user7506706
Wenn Sie die GitHub für Mac-Benutzeroberfläche, überprüfen Sie die Einstellungen, um sicherzustellen, dass Sie eingeloggt sind.
InformationsquelleAutor der Antwort juliarm
War ich immer die gleichen Fehler, während "git push". Im client-Seite hatte ich zwei origin und master. Habe ich entfernt, dann funktionierte es gut.
InformationsquelleAutor der Antwort Pabitra Dash
können Sie die Verwendung von Https-url zum login
ich denke, du versuchst, dich einzuloggen mit ssh-url
wenn Sie sagen, git push, falls es da Fragen, nur Kennwort prüfen Sie die Verbindung über ssh.besser Sie verwenden http-url.
InformationsquelleAutor der Antwort venkat razesh
Auch in ubuntu, obwohl es bereits einen SSH-Schlüssel eingetragen, in den Einstellungen auf BitBucket, ich habe dieses problem. Der Grund war, ich habe versucht die folgenden:
Nicht sicher, warum, aber es wurde gelöst, indem Sie
Kein sudo verwendet.
InformationsquelleAutor der Antwort Nabin
Einmal Szenario, in dem dies geschehen wird, ist, wenn du auf GitHub Anweisungen, die Sie nach dem erstellen des repository. Git wird Sie anweisen, fügen Sie Ihre Fernbedienung mit so etwas wie dieses.
git remote add origin [email protected]:<user>/<project>.git
Ersetzen, was in <> mit Werten im Zusammenhang mit Ihrem Konto.
Die Lösung ist das entfernen der
.git
suffix. Fügen Sie die Fernbedienung wie folgt:git remote add origin [email protected]:<user>/<project>
InformationsquelleAutor der Antwort Litehouse
tl;dr
in
~/.ssh/config
setzenSzenario
Wenn Sie eine version von openSSH > 7, sagen wir mal auf eine touchbar MacBook Pro es ist
ssh -V
OpenSSH_7.4p1, LibreSSL 2.5.0
Sie hatte auch einen älteren Mac, die ursprünglich hatte Sie Ihren Schlüssel, den Sie auf Github, ist es möglich, dass ein id_dsa-key. OpenSSH v7 nicht vom Standard die Verwendung dieser DSA-Schlüssel (diese
ssh-dss
) , aber man kann noch hinzufügen, es zurück, indem Sie den folgenden code in Ihre~/.ssh/config
Quelle, die für mich gearbeitet ist diese Gentoo newsletter
Nun können Sie zumindest verwenden GitHub und dann korrigieren Sie Ihre Schlüssel für RSA.
InformationsquelleAutor der Antwort pjammer
Vielleicht ist Ihr ssh-agent ist nicht aktiviert
Sie können es versuchen,
http://git-scm.com/
Installieren Sie es
Aktivieren Sie ssh-agent
C:\Program Files\ \ Git\cmd
start-ssh-agent
InformationsquelleAutor der Antwort 徐啟倫
Für mich ich habe versucht, diese -
dann Lauf ich
und für die Generierung der Schlüssel, die Sie ausführen können
generiert das Schlüsselpaar (Öffentlich und privat).
speichern Sie diese Taste, um github für mehr Lesen Sie dieses Hinzufügen eines neuen SSH-key zu deinem GitHub-account
Ich hoffe, es wird anderen helfen 🙂
InformationsquelleAutor der Antwort Joomler
Gehen Sie zu Ihrem GitHub-account-dashboard finden Sie Ihren Projekt-repository, klicken Sie auf Einstellungen Registerkarte - unter Bereitstellen Tasten müssen Sie Ihre SSH-Schlüssel. Öffnen Sie das Terminal und geben Sie:
Dies wird kopieren Sie den Schlüssel aus der id_rsa.pub-Datei. So gehen Sie einfach zurück zu GitHub dashboard einfügen, klicken Sie auf Add Key und das ist es.
Die gleiche Lösung gilt für Bitbucket accounts.
InformationsquelleAutor der Antwort ajlaracast
Ich hatte ein ähnliches problem @Batman. Da ich jedoch lief diese unter /usr/local/src/projectname, läuft ohne sudo keine option war.
Fügen Sie einfach die -E-flag zu preseve der Umgebung (~/.ssh/path).
$ sudo -E git clone git@your_repo
Vom Mann sudo:
InformationsquelleAutor der Antwort justin
Hatte ich 2 Github-Identität-Dateien geladen, in der ssh-agent. Mein persönlicher Schlüssel und ein anderes für eine client-Projekt.
Ich nahm den Schlüssel, war Verwirrung:
ssh-add -d id_rsa_github_somekey
InformationsquelleAutor der Antwort Alex Aguilar
Verwenden die URL für diese Seite beim hinzufügen von GitHub als eine Fernbedienung.
es nicht dazu führen, solche Fehler und drücken Sie die code
InformationsquelleAutor der Antwort Rinki Nag
Verwendung von Https ist in Ordnung, laufen
git config --global credential.helper wincred
zu erstellen, einen Github-credential helper speichert Ihre Anmeldeinformationen für Sie. Wenn dies nicht funktioniert, dann müssen Sie Bearbeiten Ihreconfig
- Datei in Ihrem.git
directory und aktualisieren die Herkunft auf die https-url.Sehen dieser link für die github-docs.
InformationsquelleAutor der Antwort Ryan Walker