1171 Stimmen

Git: Wie löst man den Fehler "Permission denied (publickey)" bei der Verwendung von Git?

Ich habe einen Mac Snow Leopard und habe gerade git .

Ich habe gerade versucht

git clone git@thechaw.com:cakebook.git

aber das gibt mir diese Fehlermeldung:

Initialized empty Git repository in `/Users/username/Documents/cakebook/.git/`
Permission denied (publickey).
fatal: The remote end hung up unexpectedly

Was übersehe ich?
Ich habe auch versucht ssh-keygen ohne Passphase, aber immer noch derselbe Fehler.

14 Stimmen

Haben Sie versucht, den öffentlichen Schlüssel, den Sie mit ssh-keygen erzeugt haben, hochzuladen?

0 Stimmen

Mein Problem war, dass ich versucht habe, von sudo - dies ist ein anderer Benutzer mit einem anderen öffentlichen Schlüssel.

0 Stimmen

Derselbe Fehler. Ich habe zuvor einen öffentlichen Schlüssel über Github erstellt und dann ein weiteres Schlüsselpaar mit dem ssh-keygen Nutzen. Das Löschen des alten öffentlichen Schlüssels in den persönlichen Einstellungen auf Github und das Hinzufügen meines per SSH generierten Schlüssels id_rsa.pub zu den SSH- und GPG-Schlüsseln hat die Probleme mit der Klonberechtigung behoben.

1voto

rivanov Punkte 1106

Dieser seltsame Fehler war in meinem Fall ein Symptom für gnome-keyring-daemon die falsche Bezeichnung des Schlüssels, für den ein Kennwort erforderlich war.

Ich habe die hier beschriebenen Schritte befolgt und das Passwort über das Terminal eingegeben. Der Fehler, auch bekannt als die verwirrende GUI-Schnittstelle, war behoben. Siehe: https://askubuntu.com/questions/3045/how-to-disable-gnome-keyring

1voto

Mr陈哲 Punkte 11

Bei mir hat es funktioniert

ssh -i [your id_rsa path] -T github@github.com

2 Stimmen

Sie sollten lieber erklären, warum Ihre Antwort sein Problem lösen würde, danke.

0voto

ofou Punkte 311

Ich habe mich bereits authentifiziert mit gh die neuen Schlüssel erstellt und so weiter. Das Problem war, dass ich installiert habe gh con snap in Ubuntu, daher wurde der neue Schlüssel in ./snap/gh/502/.ssh/ anstelle der regulären .ssh Pfad.

Ich habe das Problem gelöst, indem ich alles nach .ssh Ordner mit:

cp -a ./snap/gh/502/.ssh/* .ssh/

Wenn nicht, finden Sie Ihre Schlüssel mit find . -name *.pub

In der digitalen Welt ist es wohl immer noch ein Problem, zu wissen, wo man seine Schlüssel vergessen hat.

0voto

simhumileco Punkte 26451

Zunächst einmal empfehle ich, einige Standardsachen zu überprüfen, wie zum Beispiel:

  • sich als der richtige Benutzer anmelden in Ihrem System,
  • haben die der richtige private Schlüssel am richtigen Ort in Ihrem System,
  • versuchen, eine Verbindung mit dem richtigen Nutzername , Hostname y Hafen ,
  • haben den öffentlichen Schlüssel am richtigen Ort (und für den richtigen Benutzer) auf dem externen Server,
  • den ssh-Dienst neu gestartet an Ihrem Computer:

    service ssh restart

(oder auf andere Weise, je nachdem, wie Sie die Dienste in Ihrem System verwalten...)

Das war genug für mich.

0 Stimmen

Was ist an dieser Antwort falsch? Warum gibt mir jemand -1 Stimme? Vielleicht kann ich sie verbessern, wenn ich weiß, was an der aktuellen Antwort falsch ist? Bitte helfen Sie mir, wenn jemand weiß, was falsch sein könnte. Ich danke Ihnen im Voraus.

0 Stimmen

$ service ssh restart bash: service: Befehl nicht gefunden

0 Stimmen

Hallo @GirkovArpa, vielleicht hilft das: linuxquestions.org/questions/linux-newbie-8/

0voto

pal4life Punkte 2930

Verwenden Sie den ssh-Link von Github, aber stellen Sie sicher, dass Sie ihn nicht mit ssh anhängen, sondern nur das verwenden, was Ihnen der ssh-Tab auf Git Hub zum Klonen Ihres Repos gibt.

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