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.

4voto

imflash217 Punkte 193

Ich möchte einige meiner Erkenntnisse hinzufügen:

Wenn Sie Folgendes verwenden GitBash und stellen Sie dann sicher, dass der SSH-Schlüssel in ~/.ssh/id_rsa .

Standardmäßig GitBash sucht nach ~/.ssh/id_rsa als Standardpfad für SSH-Schlüssel.

Auch der Dateiname id_rsa Angelegenheiten. Wenn Sie Ihren SSH-Schlüssel unter einem anderen Dateinamen oder Pfad speichern, wird der Permission Denied(publickey) Fehler.

4voto

Han Zhang Punkte 180

TLDR:

  1. stellen Sie sicher, dass Sie write Zugriff auf das Repository (konfigurieren Sie es über das Repositorys settings ).
  2. stellen Sie sicher, dass der öffentliche Schlüssel in der SSH and GPG keys deines Github-Kontos.

Bei mir tritt dieser Fehler in der Regel auf, wenn ich versuche, ein Repo von einem neu installierten Rechner zu klonen. Wenn Github eine Anfrage erhält, prüft es zunächst den Hash des öffentlichen Schlüssels. Wenn der öffentliche Schlüssel mit keinem Benutzer übereinstimmt, lehnt Github diese Anfrage ab. Dieser Fall tritt häufig auf, wenn der Rechner neu ist und der ssh-Schlüssel neu generiert wurde.

4voto

Kevin Punkte 108

Wenn Sie bereits einen SSH-Schlüssel erstellt haben und immer noch die Fehlermeldung erhalten, liegt das daran, dass Sie dem Benutzer Lese- und Schreibrechte für den Ordner geben müssen, in den Sie klonen wollen. Um dies zu tun, sudo chmod 777 <your_folder_name_here>" . Natürlich erst, nachdem Sie einen SSH-Schlüssel erzeugt haben und der Fehler immer noch auftritt. Ich hoffe, dies hilft zukünftigen Benutzern.

Editer

Um dies zu ergänzen, verwenden Sie unter Windows admin, wenn Sie die git bash verwenden

3voto

coding360 Punkte 141

enter image description here Wenn Sie Widows-10 verwenden, folgen Sie dieser Anleitung. Bei mir funktioniert es.

  1. Terminal als Administrator öffnen

  2. führen Sie diesen Befehl aus: "ssh-keygen". Es erzeugt einen ssh-Schlüssel und zeigt den Ordner an, in dem er erstellt wurde. Prüfen Sie mein Bild enter image description here

  3. den erzeugten "ssh-Schlüssel" kopieren

  4. Gehen Sie zu Ihrem Github-Profil ---> Einstellungen --> Klicken Sie auf SSH und GPH --> Klicken Sie auf "Neuer SSH-Schlüssel" und fügen Sie den "ssh-Schlüssel" ein und klicken Sie schließlich auf den "Hinzufügen"-Button

3voto

justin Punkte 641

Ich hatte ein ähnliches Problem wie @Batman. Da ich es jedoch unter /usr/local/src/projectname ausführte, war die Ausführung ohne sudo keine Option.

Fügen Sie einfach die -E-Flagge um die Umgebung (Ihren ~/.ssh/-Pfad) zu überprüfen.

$ sudo -E git clone git@your_repo

Von man sudo:

- Gibt der Sicherheitsrichtlinie an, dass t seine bestehenden Umgebungsvariablen vorhalten möchte. Die Sicherheits Richtlinie kann einen Fehler zurückgeben, wenn der Benutzer nicht über die Berechtigung nicht die Erlaubnis hat, die Umgebung zu erhalten.

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