wake-up-neo.net

GitHub: Erlaubnis verweigert (publickey). fatal: Das entfernte Ende hat unerwartet aufgelegt

Ich habe diese Anweisungen unten befolgt, um ein Projekt hochzuladen.

Globales Setup:

 Download and install Git
  git config --global user.name "Your Name"
  git config --global user.email [email protected]
  Add your public key


Next steps:

  mkdir tirengarfio
  cd tirengarfio
  git init
  touch README
  git add README
  git commit -m 'first commit'
  git remote add Origin [email protected]:tirenga/tirenga.git
  git Push Origin master

Aber ich bekomme diesen Fehler:

Erlaubnis verweigert (publickey). fatal: Das entfernte Ende hat unerwartet aufgelegt

197
ziiweb

Für mich war das Problem die Ausführung des Klons über Sudo.

Wenn Sie in ein Verzeichnis klonen, in dem Sie über Benutzerberechtigungen verfügen (/ home/user/git), funktioniert dies problemlos.

(Erläuterung: Das Ausführen eines Befehls als Superuser funktioniert nicht mit demselben öffentlichen Schlüssel wie das Ausführen eines Befehls als Benutzer. Daher hat Github die Verbindung abgelehnt.)

Für diese Lösung muss bereits ein SSH-Schlüssel eingerichtet sein: https://help.github.com/articles/generating-ssh-keys

24
Smundo

Ich musste meinen öffentlichen Schlüssel zu Github hinzufügen. https://help.github.com/articles/generating-ssh-keys

125
ziiweb

Ja, es ist ein Problem mit dem öffentlichen Schlüssel. Ich bin ein Windows-Benutzer und die folgende Seite helfen mir, dieses Problem zu beheben.

http://help.github.com/win-set-up-git/

genauer gesagt sollte dieser link hilfreich sein

https://help.github.com/articles/error-permission-denied-publickey

28
viprs

nachdem Sie das RSA-Schlüsselpaar erstellt haben, müssen Sie es mit den folgenden Schritten zu SSH hinzufügen:

ssh-add ~/.ssh/id_rsa

oder wo immer Sie Ihr RSA-Schlüsselpaar erstellt haben.

28
Sergio Viera

Geben Sie den folgenden Befehl unter Verwendung Ihres Benutzernamens und Ihres Repository-Namens ein:

git clone https://github.com/{user name}/{repo name}

in Ubuntu funktioniert das einwandfrei.

18
rahul_pratap

Ich habe nach langer Zeit in Tutorials eine Lösung gefunden.

Ich folgte dem Github-Tutorial auf diesem Link -> https://help.github.com/articles/error-permission-denied-publickey und konnte mich in jedem Schritt verbinden. Aber als ich versuchte Git Push -u Origin Master zu machen, bekam ich diesen Fehler:

Erlaubnis verweigert (publickey). fatal: Konnte nicht aus dem Remote-Repository lesen.

Bitte stellen Sie sicher, dass Sie die richtigen Zugriffsrechte haben

So habe ich es behoben !! Gehen Sie mit dem Terminal in das Projektverzeichnis und checken Sie es aus

$git remote -v

Sie erhalten so etwas:

Origin  ssh://[email protected]/yourGithubUserName/yourRepo.git (fetch)
Origin  ssh://[email protected]/yourGithubUserName/yourRepo.git (Push)

Wenn Sie etwas anderes als [email protected] verwenden, öffnen Sie die Konfigurationsdatei im git-Verzeichnis, indem Sie den folgenden Befehl eingeben:

vi .git/config

Und konfigurieren Sie die Linie

[remote "Origin"]

url = ssh://[email protected]/yourGithubUserName/yourRepo.git

fetch = +refs/heads/*:refs/remotes/Origin/
16
rafaeljuzo

In meinem Fall musste ich den öffentlichen Schlüssel für einen anderen Benutzer einrichten, da ich bereits einen für meinen Hauptbenutzer hatte. Nachdem ich die Benutzer gewechselt und die Befehle im obigen Link ausgeführt habe, konnte ich das Setup für meinen Testserver problemlos durchführen.

6
Dan Power

Ich hatte dieses Problem, aber keine der oben genannten Lösungen hat funktioniert. Ich konnte klonen und holen, aber nicht pushen. Schließlich stellte ich fest, dass das Problem in url in meinem .git/config, es sollte sein:

[email protected]:<username>/<project>

(nicht ssh://github.com/<username>/<project>.git oder https://github.com/<username>/<project>.git).

5
eold

Angesichts der Tatsache, dass hier keine der Antworten für mich funktioniert hat, habe ich endlich mein Problem mit der Verbindung zu Bitbucket (oder Github, in diesem Fall spielt das keine Rolle) mit ssh -vT [email protected] ausfindig gemacht.

In meinem Fall war der Fehler auf die Verwendung eines DSA-Schlüssels anstelle von RSA zurückzuführen, und anscheinend lässt mein SSH-Client dies nicht mehr zu.

debug1: Überspringen des ssh-dss-Schlüssels /c/Users/USER/.ssh/id_dsa für nicht in PubkeyAcceptedKeyTypes

Die Lösung bestand darin, dies zu .ssh/config hinzuzufügen:

Host *
    PubkeyAcceptedKeyTypes +ssh-dss

Dadurch wird der Schlüsseltyp ssh-dss elegant an alle vorhandenen akzeptierten öffentlichen Schlüsseltypen angehängt, und nachdem dies geschehen ist, kann git nun problemlos ssh in Bitbucket ausführen.

5

Mein Problem war, dass ich versuchte, meinem ssh-Schlüssel bei jeder Eingabe von ssh-keygen Auf meinem Mac-Terminal ein SPECIFIC NAME zuzuweisen.

Ich habe das Problem gelöst, indem ich nur den Namen hinterlassen habe, den "ssh-keygen" = id_rsa Generiert. Am Ende befinden sich 2 Schlüssel in Ihrem .ssh-Ordner auf einem Mac, id_rsa, Der Ihr privater Schlüssel ist, und id_rsa.pub, Der Ihr öffentlicher Schlüssel ist. Dann habe ich den Code von id_rsa.pub In meine GitHub-Kontoeinstellungen kopiert und gespeichert, und das wars. Problem gelöst.

3
paopao

Gut, wenn Sie git auf Ihrem Computer installiert haben:

http://help.github.com/mac-set-up-git/

2
Jamal Khan

Das Hinzufügen eines öffentlichen Schlüssels ist die Lösung. Zum Generieren von SSH-Schlüsseln: https://help.github.com/articles/generating-ssh-keys enthält schrittweise Anleitungen.

Das Problem kann jedoch bestehen bleiben, wenn der Schlüssel nicht ordnungsgemäß generiert wird. Ich fand dies auch einen nützlichen Link: https://help.github.com/articles/error-permission-denied-publickey

In meinem Fall bestand das Problem darin, dass ich den SSH-Schlüssel ohne Sudo generierte, aber wenn ich Git-Befehle verwendete, musste ich Sudo verwenden. Dieser Kommentar im obigen Link "Wenn Sie SSH-Schlüssel ohne Sudo generieren, verwenden Sie den von Ihnen generierten SSH-Schlüssel nicht, wenn Sie versuchen, einen Befehl wie Sudo git Push zu verwenden." half mir.

Die Lösung war also, dass ich Sudo sowohl mit Schlüsselerzeugungsbefehlen als auch mit Git-Befehlen verwenden musste. Wenn andere Benutzer Sudo nicht benötigen, verwenden Sie es in keinem der beiden Schritte. (Schlüsselerzeugungs- und Git-Befehle).

1
learner_19

Ich hatte ein ähnliches Problem beim Ausführen von SSH oder Git Clone unter Windows. Folgende Erkenntnisse helfen, mein Problem zu lösen:

  • Wenn Sie "rhc setup" oder andere ssh-Methoden ausführen, um den ssh-Schlüssel zu generieren, wird die private Schlüsseldatei id_rsa im Ordner .ssh in Ihrem Basisordner erstellt. Die Standardeinstellung ist C:\User\UserID
  • Git für Windows hat einen eigenen .ssh-Ordner im Installationsverzeichnis. Wenn Sie git/ssh ausführen, sucht es in diesem Ordner nach der privaten Schlüsseldatei id_rsa
  • Das Problem wurde behoben, indem id_rsa aus dem Ausgangsordner .ssh in den Ordner .ssh im Git-Installationsverzeichnis kopiert wurde

Ich denke auch, dass es eine Möglichkeit gibt, git mitzuteilen, den standardmäßigen .ssh-Ordner im Home-Ordner zu verwenden, aber dennoch herauszufinden, wie.

1
gkl

Wenn Sie einen Linux-Computer verwenden, überprüfen Sie,

  • hast du Openssh installiert?
  • wenn Sie dies tun, haben Sie einen vorhandenen öffentlichen Schlüssel, andernfalls müssen Sie einen generieren.
  • wird Ihr öffentlicher Schlüssel Ihrem Github-Konto hinzugefügt?.

Das Generieren neuer SSH-Schlüssel und das Hinzufügen zu meinem Github-Konto löste mein Problem. Sie können auf dieser Seite nach weiteren Einzelheiten suchen. GitHelp .

0
Sparsh Juneja

Verwenden Sie Ubuntu auf Windows Store

windows-Subsystem für Linux

funktioniert dein git Push über verschiedene Accounts.

0
MayurKubavat

Bei mir hat es so funktioniert:

In GitHub habe ich den Link ssh in https geändert und dann die folgenden Befehle gegeben:

$ git init
$ git remote add Origin https:...
$ git add .
$ git commit -m "first commit"
$ git Push Origin master
0

Sie können versuchen, Ihren Verbindungstyp zu ändern, um von ssh zu https zu verzweigen.

  1. nano project_path/.git/config
  2. Ersetzen Sie [email protected]:username/repository.git Durch https://[email protected]/username/repository_name.git
  3. Datei speichern ctrl + o

Danach können Sie git pull Ohne publickey ausprobieren

0
Maxim Niko