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.

3voto

aslan Punkte 23

Sie können damit beginnen, indem Sie im Terminal folgende Schritte ausführen:

  1. cd ~/.ssh

  2. Erzeugen Sie einen ssh-Schlüssel, indem Sie Folgendes ausführen: ssh-keygen -o -t rsa -C "your@email.com"

  3. Wenn Sie aufgefordert werden, einzugeben, wo der Schlüssel gespeichert werden soll, geben Sie ein: cat id_rsa.pub | pbcopy

  4. Geben Sie Ihre Passphrase ein und bestätigen Sie sie, woraufhin Ihr neuer Schlüssel generiert wird.

  5. Informieren Sie github über den Schlüssel, indem Sie Folgendes ausführen: cat ~/.ssh/id_rsa.pub

  6. Kopieren Sie die Ausgabe und gehen Sie zu github, um einen neuen SSH-Schlüssel zu erstellen. Fügen Sie den kopierten Inhalt in den Textbereich ein, geben Sie ihm einen passenden Titel und klicken Sie dann auf die Schaltfläche ADD KEY (Schlüssel hinzufügen).

Jetzt können Sie Ihren Geschäften ohne Probleme nachgehen.

3voto

Jonathan Punkte 2164

Zusätzlich zu Rufinus' Antwort ist die Abkürzung zum Kopieren Ihres ssh-Schlüssels in die Zwischenablage in Windows ist:

  • type id_rsa.pub | clip

Verweise:

3voto

Rhey M. Punkte 21

Ich habe gerade dieses Problem beim Einrichten meines aktuellen Projekts erlebt, und keine der oben genannten Lösungen funktioniert. Also habe ich versucht, mit dem Befehl ssh -vT git@github.com zu sehen, was wirklich in der Debug-Liste passiert. Mir ist aufgefallen, dass der Dateiname meines privaten Schlüssels nicht in der Liste steht. also habe ich den Dateinamen des privaten Schlüssels in "id_rsa" umbenannt. ich hoffe, das konnte helfen.

0 Stimmen

Nicht hilfreich in Fällen, in denen Sie mit den Schlüssel "id_rsa" für alles andere....

2voto

AzarEJ Punkte 435

Für mich besteht das eigentliche Problem darin, den öffentlichen SSH-Schlüssel mit einem Texteditor in die Zwischenablage zu kopieren

Wenn Sie folgen docs.github.com und öffnen Sie die .pub-Datei in einem Texteditor wie Notepad++, um den öffentlichen SSH-Schlüssel zu kopieren, dann sind Sie in Schwierigkeiten.

enter image description here

Verwenden Sie stattdessen

cat ~/.ssh/id_***.pub | clip

Befehl zum Kopieren

2voto

Illegal Argument Punkte 9707

Ich bin heute auf dieses Problem gestoßen, als ich versucht habe, ein bestehendes Repository unter Windows mit git bash einzurichten. Das Problem trat auf, als ich das Folgende eingab:

git clone myreposshurl

In Gitbash funktionieren ctrl+c und ctrl+v nicht. Beim Versuch, die Repository-URL einzufügen, habe ich ctrl+v verwendet, wodurch einige unerwünschte Zeichen eingefügt wurden. Schließlich fand und löste ich das Problem, als ich versuchte, ein anderes Repository zu klonen, und es gelang. Ich habe 1,5 Stunden gebraucht, um diesen dummen Fehler herauszufinden.

\302\226git@github.com: Permission denied (publickey).
fatal: Could not read from remote repository.

Wenn Sie Zeichen sehen wie \302 wie oben, dann könnte dies eine mögliche Ursache sein.

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