1120 Stimmen

GitHub-Fehlermeldung - Berechtigung verweigert (publickey)

Hat jemand diesen Fehler gesehen und weiß, was zu tun ist?

Ich verwende das Terminal, ich bin im Root, das GitHub-Repository existiert und ich weiß nicht, was ich jetzt tun soll.

> 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.

2voto

Leonardo Repolust Punkte 143

Ich habe dieses Problem auch, da ich mehrere GIT-Konten verwende und auch verschiedene für die Arbeit und die Universität, das hat bei mir funktioniert:

-> gehen Sie zu Ihrer ssh-Konfiguration

cd ~/.ssh/
vim config

-> Kopieren Sie den folgenden Block und tragen Sie den Host und den Benutzer ein, an/mit dem Sie pushen wollen

Host [Hostname]
User [User]
PubkeyAcceptedAlgorithms +ssh-rsa
HostkeyAlgorithms +ssh-rsa

Ich habe dieses Problem für ein paar Hostnamen, so dass ich jetzt mehrere dieser Konfigurationen in meiner ssh-Konfigurationsdatei habe.

2voto

Timur Shtatland Punkte 8848

Ich fand diese Seite bei der Suche nach einer Lösung für eine ähnliche Fehlermeldung mit git pull auf einem entfernten Host:

$ git pull
Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

Ich war von meinem lokalen Rechner aus mit dem Remote-Host verbunden über ssh -AY remote_hostname . Dies ist keine Lösung für die Frage des Auftraggebers, aber nützlich für andere, die auf diese Seite stoßen, daher wird es hier veröffentlicht.

Beachten Sie, dass in meinem Fall, git pull funktioniert auf meinem lokalen Rechner einwandfrei (d. h., der SSH-Schlüssel wurde eingerichtet und dem GitHub-Konto hinzugefügt usw.). Ich habe mein Problem gelöst, indem ich dies zu ~/.ssh/config auf meinem Laptop:

Host *
     ForwardAgent yes

Ich habe mich dann erneut mit dem entfernten Host verbunden mit ssh -AY remote_hostname y git pull jetzt funktioniert. Die Änderung in der Konfiguration ermöglicht es, mein ssh-Schlüsselpaar von meinem lokalen Rechner an jeden beliebigen Host weiterzuleiten. Die -A Option zu ssh es in dieser ssh-Sitzung tatsächlich weiterleitet. Weitere Einzelheiten finden Sie hier.

1voto

S.Perera Punkte 842

Ich hatte das gleiche Problem, aber keine der Antworten hat funktioniert, aber eine einfache Lösung hat funktioniert. Aber bitte beachten Sie, dass ich die ssh key wie in den ersten Antworten vorgeschlagen. Ich bin nicht sicher, ob das wirklich geholfen hat. Jedenfalls ist das, was endlich funktioniert:

Ändern Sie die URL Ihrer Fernbedienung von HTTPS auf SSH mit der git-Fernbedienung Befehl set-url. $ git remote set-url origin git@github.com:USERNAME/REPOSITORY.git . Überprüfen Sie, ob die entfernte URL geändert hat.

1voto

Ashutosh Tiwari Punkte 1006

Das hat bei mir funktioniert

Es gibt 2 options in github - HTTPS/SSH

I had selected SSH versehentlich, wodurch der Fehler auftrat -_-

Umschalten auf HTTPS und kopieren Sie dann die URL erneut und versuchen Sie es :)

1voto

Litehouse Punkte 854

Ein Szenario, in dem dies geschieht, ist, wenn Sie den Anweisungen von GitHub folgen, nachdem Sie Ihr Repository erstellt haben. Git wird Sie anweisen, Ihr Remote mit etwas wie diesem hinzuzufügen.

git remote add origin git@github.com:<user>/<project>.git

Ersetzen Sie die Angaben in <> durch Werte, die sich auf Ihr Konto beziehen.

Die Lösung besteht darin, die .git Suffix. Fügen Sie die Fernbedienung wie folgt hinzu:

git remote add origin git@github.com:<user>/<project>

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X