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.

0voto

lambzee Punkte 102

Ich war in der Lage, dieses Problem zu überwinden, indem ich die folgenden Schritte in meinem Ubuntu-System. Als ich mit passwortloser ssh zum System experimentiert habe.

sudo vi /etc/ssh/sshd_config

1) Unten kommentiert: #Ändern Sie auf no, um getunnelte Klartextpasswörter zu deaktivieren. #PasswordAuthentication yes PasswordAuthentication no ----> kommentiert dies.

2) Starten Sie dann den sshd-Daemon wie unten beschrieben neu.

service sshd restart

0voto

Abhishek Bais Punkte 1

Schritte für Mac:

  1. Benutzer wechseln ( sudo su - jenkins)
  2. Schlüssel generieren ( ssh-keygen -t rsa -b 4096 -C "Benutzername") . Der Benutzername ist derjenige, den Sie bei jenkins verwenden.
  3. Kopieren Sie den generierten öffentlichen Schlüssel (cat ~/.ssh/id_rsa.pub).
  4. Fügen Sie den Schlüssel in das Git-Konto ein. (Einstellungen -> SSH- und CPG-Schlüssel -> Neu ssh-Schlüssel -> Geben Sie den Namen des Schlüssels ein (kann beliebig sein) und fügen Sie den Schlüssel in Beschreibung).

0voto

kkost Punkte 3288

QuellBaum für Windows-Gehäuse

Falls Sie QuellBaum unter Windows müssen Sie ein neues Schlüsselpaar erstellen mit PuTTyGen

enter image description here

El ssh-rsa Taste aus dem oberen Abschnitt sollten Sie in

Github => Profile=> Settings => SSH and GPG keys => Add Key

Speichern Sie dann den privaten Schlüssel und fügen Sie ihn zu Pageant (es läuft mit dem SourceTree)

enter image description here

Das ist alles

0voto

ngandhi_369 Punkte 371
  • Einen neuen Ordner erstellen Überall auf Ihrem PC (z. B. auf dem Desktop)

  • Wechseln Sie in diesen neuen Ordner und öffnen Sie dort git bash.

& Schreiben Sie dort folgenden Code in Bash:

$ git init
$ git remote add origin https://github.com/YOUR_GITHUB_HANDLER/YOUR_REPO_NAME.git
$ git pull origin master

(Dieser neue Ordner wird angezeigt, unabhängig davon, ob Dateien gezogen werden oder nicht)

Wenn Dateien gezogen werden, dann zuerst Löschen alle Dateien/Ordner aus diesem älteren Ordner (in dem der beschriebene Fehler auftritt) einschließlich .git フォルダ

& Kopieren Sie alle Dateien aus dem neuen Ordner, einschließlich .git, und fügen Sie sie in unseren alten Ordner ein, in dem der beschriebene Fehler auftritt.

Dadurch wird das entfernte Repo abgerufen.

Wenn Sie das entfernte Projektarchiv abrufen möchten, ohne neue Änderungen, die Sie lokal vorgenommen haben, zu entfernen, müssen Sie nur unseren neuen .git-Ordner kopieren und einfügen

Jetzt können Sie Folgendes tun $ git push origin master

0voto

RayLoveless Punkte 17624

Wenn ich bei der Arbeit einen neuen Computer bekomme oder den Arbeitsplatz wechsle, sind dies die Schritte, die ich bei der Einrichtung des Github-Zugangs befolge. Mac oder Windows

-Gehen Sie zu https://github.\[yourWorkDomain\].com. Navigieren Sie zu Einstellungen Entwicklereinstellungen Persönliche Zugriffstoken
-Generierung eines neuen Tokens
Stellen Sie die Token-Beschreibung ein und markieren Sie nur das Kästchen "repo" für den Geltungsbereich (dadurch erhalten Sie Zugriff auf repo:status, repo_deployment, public_repo, repo:invite)

-Nachdem Sie den Token erhalten haben, kopieren Sie ihn (navigieren Sie noch nicht weg, sondern bestätigen Sie, dass die nächsten beiden Schritte funktionieren)
-Versuchen Sie, das Repository erneut zu klonen (mit "https")
-Für den Benutzernamen verwenden Sie Ihren Benutzernamen
-Fügen Sie als Passwort das kopierte Token ein
-Alle zukünftigen Anfragen sollten nun ohne die Abfrage des Benutzernamens und Passworts funktionieren.

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