webentwicklung-frage-antwort-db.com.de

Berechtigung verweigert (publickey) fatal: Das Remote-Repository konnte nicht gelesen werden. beim Klonen von Git-Repository

Ich kann kein Git-Repository klonen und erhalte folgende Fehlermeldung:

[email protected] /c/Projects $ git clone http://stage.abc.com:10088/pqr
http://<url>/<repository> Cloning into '<repository>'... fatal: could not read Username for 'http://<url>': No such file or directory

Ich habe Bitbucket, Windows und "fatal: Passwort konnte nicht lesen" gelesen , habe aber immer noch das Problem.

Ich bin weitergegangen, bekomme aber jetzt diesen Fehler

sh.exe": chown: command not found

[email protected] /c
$ git clone ssh://[email protected]
/projects
Cloning into 'C:/projects'...
Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

> [email protected] /c
>     $ git clone ssh:<url>
>     ts
>     Cloning into 'C:/projects'...
>     Permission denied (publickey).
>     fatal: Could not read from remote repository.

Please make sure you have the correct access rights

und das Repository existiert.

115
Chandra

Es sieht wie ein Berechtigungsproblem aus - kein Windows 7-Problem. 

Ihr SSH-Schlüssel ist nicht autorisiert - Permission denied (publickey)

Sie müssen einen öffentlichen SSH-Schlüssel erstellen und den Administrator des Git-Repository bitten, den öffentlichen Schlüssel ssh hinzuzufügen

Informationen dazu: Speichern des SSH-Schlüssels schlägt fehl

53
First Zero

Für Leute, die hierher kommen und nur versuchen, das Repository zu erhalten, sich aber nicht für das Protokoll interessieren (ssh/https), möchten Sie vielleicht https anstelle von ssh verwenden (sofern unterstützt).

So benutzt du zum Beispiel 

git clone https://github.com/%REPOSITORYFOLDER%/%REPOSITORYNAME%.git

anstatt

git clone [email protected]:%REPOSITORYFOLDER%/%REPOSITORYNAME%.git
187
Arjan

Wenn nach dem Erstellen von SSH noch ein Problem auftritt, nachdem Sie SSH erstellt und in Ihrem Bitbucket-Konto hinzugefügt haben, müssen Sie die folgenden Schritte unter GitBash, OSX oder Linux ausführen:

ssh-add -l

Wenn Sie Ihren Schlüssel nicht aufgelistet sehen, fügen Sie ihn mit folgendem Befehl hinzu:

ssh-add ~/.ssh/identity

Das hat bei mir funktioniert.

63

Ich hatte das gleiche Problem mit GitHub. Es ist leicht zu lösen.

  1. Generieren Sie einen SSH-Schlüssel auf Ihrem Computer wie hier beschrieben: SSH-Schlüssel generieren .
  2. Melden Sie sich bei Ihrem GitHub-Konto an: GitHub Login .
  3. Fügen Sie in Ihrem Konto den neu generierten SSH-Schlüssel hinzu: Mein Konto SSH-Schlüssel .
  4. Versuchen Sie erneut, das Projekt zu git clone zu machen.
15
Maxime

Ich stand auch vor demselben Problem. Ich habe folgendes getan und es hat für mich funktioniert:

  1. Generieren Sie Schlüssel aus dem GIT GUI-Client unter Windows. Kopieren Sie diesen Schlüssel in die Zwischenablage.
  2. Eröffnen Sie Ihr Konto auf der bitBucket/ git-Website und fügen Sie diesen Schlüssel Ihrem Profil hinzu. Auf diese Weise weiß der Server, dass Sie ein legitimer Benutzer sind, der von einem legitimen System aus zugreift. 
  3. Das ist es. Alle Push-Befehle funktionierten von nun an für mich.
11
Ashwin Tumma

Ich hatte dieses Problem auf einem Mac. Während ich SSH richtig für den Zugriff auf mein Git-Repository eingerichtet habe, wurden nach einem Neustart (und der Mac stand einige Zeit auf Abstand) alle meine Anmeldeinformationen entfernt. Offensichtlich wurde der Pub-Schlüssel aus irgendeinem Grund auf 644 gesetzt, wodurch er vom Schlüsselbund entfernt wurde. Zu lesen:

  • chmod 600 der öffentliche Schlüssel
  • ssh-add ~/.ssh/[your private key] - hier sollte angezeigt werden, dass die Identität hinzugefügt wurde. Sie möchten die Schlüsseldatei ohne die Erweiterung .pub.
  • ssh-add -l sollte die neu hinzugefügte Identität anzeigen

edit: anscheinend neigt MacOS dazu, Schlüssel zu entfernen - nach dem Download des High Sierra-Updates (aber ich habe es noch nicht installiert) wurde mein Schlüssel entfernt und ich musste ihn erneut über ssh-add hinzufügen

11
eithed

Github (oder Bitbucket) kann Ihren SSH-Schlüssel nicht auf ihrem Server finden.

Fügen Sie einfach Ihren Schlüssel in Ihren Kontoeinstellungen hinzu.

6
jsxqf

Ich habe den Fehler bekommen ...

Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.

... als ich versuchte, Kontakt mit einer Git Bash-Eingabeaufforderung zu Bitbucket aufzunehmen, nachdem mein Laptop an einem fehlerhaften Windows 10-Update gestorben war und auf die Werkseinstellungen zurückgesetzt wurde. Ich hatte alle meine SSH-Dateien aus einem Backup wiederhergestellt.

Die Ursache des Fehlers stellte sich nach der Neuerstellung des Computers als nicht übereinstimmend in meinem Windows-Kontonamen heraus. Ich habe gelernt, dass die öffentliche Schlüsseldatei id_rsa.pub mit einer leicht lesbaren Zeichenfolge endet, die aus meinem Windows-Kontonamen, gefolgt von einem @-Zeichen und dem Computernamen besteht.

Als ich meinen Computer ursprünglich eingerichtet hatte, erstellte ich meinen Windows-Kontonamen, einschließlich meines mittleren Anfangsbuchstabens. Als mein Computer jedoch auf die Werkseinstellungen zurückgesetzt wurde, erstellte mein neuer DevOps-Benutzer meinen Kontonamen ohne den mittleren Anfangsinhalt.

Um das Problem zu beheben, habe ich einfach meine öffentliche Schlüsseldatei id_rsa.pub bearbeitet und am Ende die mittlere Initiale in meinem Namen entfernt. Ich hatte den gleichen Computernamen beibehalten, das war okay. Ich habe den Dateiinhalt in die Windows-Zwischenablage kopiert. Ich meldete mich dann bei Bitbucket an, ging zu Bitbucket Settings unter meinem Avatar und fügte einen neuen öffentlichen Schlüssel hinzu, in den ich den neuen Inhalt eingefügt habe. 

Zurück an der Git Bash-Eingabeaufforderung, habe ich bestätigt, dass es jetzt funktioniert, indem ich den Befehl eingebe ...

ssh -T [email protected]

... und ich erhielt eine Nachricht, dass ich angemeldet war.

4
Ken A Collins

Als ich klonen aus meinem Repository wollte, hatte ich die gleiche Nachricht vor "Permission denied (publickey) fatal: Konnte nicht aus dem Remote-Repository lesen". Die Lösung für meinen Fall ist Sudo vor dem Klonen nicht zu verwenden Das war's.

4
mustapha

Wenn Sie einen neuen öffentlichen SSH-Schlüssel erzeugen und ihn in Bitbucket oder Github und einfügen 

es hat nicht geholfen - bitte versuchen Sie Ihren PC neu zu starten . Es hat mir geholfen!!

4

In macOS/Linux (Ubuntu):

1. Zur Authentifizierung müssen Sie Ihren öffentlichen Teil Ihres SSH-Schlüsselpaares aus Ihren Benutzereinstellungen zu Bitbucket hinzufügen: Benutzereinstellungen -> SSH-Schlüssel

Sie finden den besagten öffentlichen Teil in Ihrem ~/.ssh-Verzeichnis, normalerweise id_rsa.pub. Beachten Sie den .pub Teil des Dateinamens für Public . Er wird Ihnen helfen, einen zu generieren, falls Sie noch keinen haben

Sie sind noch nicht fertig ...

2. Sie müssen Ihrem System mitteilen, welche Taste mit welchem ​​Remote-Host verwendet werden soll. Fügen Sie diese Zeilen also Ihrer ~/.ssh/config-Datei hinzu

Host bitbucket.org
 IdentityFile ~/.ssh/PRIVATE_KEY_FILE_NAME

Wenn PRIVATE_KEY_FILE_NAME der Name des privaten Teils Ihres SSH-Schlüsselpaares ist, ist der Standardname normalerweise: id_rsa In diesem Fall ersetzen Sie PRIVATE_KEY_FILE_NAME. oben mit id_rsa (der private Schlüssel hat NICHT die Erweiterung .pub)

3
ninjayoto

Ich hatte das gleiche Problem, als ich git clone von der Windows-Befehlszeile aus ausführte. Der Befehl wird jedoch erfolgreich von Git Bash ausgeführt.

3
lazyvab

Sie müssen einen neuen SSH-Schlüssel erstellen, indem Sie ssh-keygen -t rsa ausführen.

3
biniam

Wenn alles fehlschlägt, wie es bei mir der Fall war, Deinstalliere GIT, installiere es erneut. Aus irgendeinem Grund wird dieses Problem behoben.

P.S. 

  1. Ich habe versucht, neue Schlüssel zu generieren und bei öffentlichen SSH-Schlüsseln zu aktualisieren
  2. Es wurde auch versucht, alle Schlüssel zu löschen und einen neuen Schlüssel zu erstellen.
  3. Und NEIN, nichts mit meiner .gitconfig
2
Ronak Agrawal

Ich hatte das ähnliche Problem. Ich ändere die SSH-Schlüssel und starte neu und probiere alle anderen 'n' Lösungen. Das eigentliche Problem für mich war jedoch, dass unser gitlab-Standardprotokoll von ssh auf https geändert wurde.

überprüfen Sie die Remote-URL mit

git remote -v

ändern Sie die Remote-URL

git remote set-url Origin https://URL
2
nantitv

Beim Klonen hatte ich ein ähnliches Problem [mein FEHLER: Erlaubnis verweigert (publickey) . fatal: Konnte nicht aus dem Remote-Repository lesen . Bitte vergewissern Sie sich, dass Sie die richtigen Zugriffsrechte haben. Etc ] 

- Ich habe in meinem Fall bitBucket/UBUNTU14.04 verwendet, aber BEREITS hatte eine Reihe von Schlüsseldateien, die ich zuvor generiert hatte UND ich hatte den Namen der Dateien geändert. Ich habe einfach KOPIERTE die Dateien im Standardnamenformat id_rsa & id_rsa.pub. Ich habe dann den Befehl mit unserer Ausgabe erneut ausgeführt. 

OBTW: Ich hätte auch die Kennwort-Eingabeaufforderung verwenden können, indem ich den HTTP-Stil-Klon verwende.

1

Nützlicher Thread und ich bringe nicht viel Neues auf den Tisch. Der Schritt, den ich unternommen habe, ist auch Teil der Beschreibung, auf die Maxime hilfreicher hinweist, aber einige übersehen ihn vielleicht. Der Abschnitt ist Hinzufügen Ihres SSH-Schlüssels zum ssh-agent .

Ich hatte bereits meinen SSH-Schlüssel generiert, aber nach einem Neustart konnte ich kein eigenes Repository kopieren.

Ich musste den ssh-agent starten und diesem Agenten den privaten Schlüssel hinzufügen, um zu klonen.

eval $(ssh-agent -s)
ssh-add ~/.ssh/id_rsa
1
kometen

Ich hatte den gleichen Fehler. Meine Lösung bestand darin, sich abzumelden und erneut anzumelden, da mein SSH-Agent nicht mehr mit der Remote-SSH-Taste synchronisiert war. 

Fügen Sie dies hier hinzu, nur für den Fall, dass jemand gesehen hat, dass die anderen Antworten nicht auf ihre Situation zutreffen.

0
Martlark

Bei der Einrichtung von ssh für Gitlab stand ich vor demselben Problem. Ich habe bereits ssh für github und ich konnte das nicht überschreiben. Die folgenden Schritte waren für mich:

  1. Erzeugen Sie SSH mit neuem Pfad und fügen Sie es der SSH-Liste ssh-add /path/to/new/id_rsa hinzu.
  2. Erstellen Sie mit ~/.ssh/ eine Datei mit dem Namen config. Ich habe vi ~/.ssh/config/ verwendet.
  3. Fügen Sie dies der neu erstellten Datei hinzu

# GitLab.com server Host gitlab.com RSAAuthentication yes IdentityFile /path/to/new/id_rsa

  1. Speichern und Beenden.

Starten Sie danach das Terminal neu und versuchen Sie es zu drücken, es sollte funktionieren

0
ishwar rimal

fix für hub cli tool:

  • git config --global hub.protocol https für langfristige
  • git remote add OOPS https://github.com/isomorphisms/go.git && git Push OOPS zur sofortigen Korrektur

Dieser Fehler tritt mit dem hub-Befehlszeilentool auf, weil der Standardwert hub.protocol git-config falsch ist. Sie setzen Repos auf

git://github.com/schacon/ticgit.git

anstatt was github tatsächlich akzeptiert, nämlich https://github.com/schacon/ticgit.git.


Wenn Sie LESS=+/"HTTPS instead" man hub lesen, wird erläutert, woher der obige Befehl "Langzeitkorrektur" stammt.

0
isomorphismes

Wenn Sie Open Source-Projekte klonen möchten, um eine Pull-Anforderung zu senden:

Ich wollte ein Open Source-Projekt klonen, um einige Pull-Anfragen einreichen zu können. Das Problem war, dass ich keine Berechtigungen vom Eigentümer des Projekts hatte. Egal, da ich beabsichtigte, eine PR einzureichen, ist hier eine praktikable Alternative: 

Meine Lösung:

  1. Gabel-Repository

 Fork Repo

  1. Dann klonen Sie aus Ihrem gegabelten Repository .  Clone from forked Repo

  2. Bearbeiten Sie Ihre Funktionen und senden Sie dann eine Pull-Anfrage.

0
BKSpurgeon

Sie können versuchen, Ihren SSH-Schlüssel zu Ihrem privaten Schlüsselbund hinzuzufügen. Es hat bei mir funktioniert

ssh-add -K ~/.ssh/[your-private-key]
0
Ankur Kedia

Ich hatte ein ähnliches Problem unter Linux. Ich habe das Problem gelöst, indem ich mich beim github-Server angemeldet und einen Bereitstellungsschlüssel erstellt habe. Das ist unter Einstellungen für das Repository. Dann habe ich meinen öffentlichen Schlüssel kopiert und eingefügt (normalerweise in ~/.ssh/id_rsa.pub, aber Ihre Konfiguration kann anders sein). Es gibt ein Kontrollkästchen, um diesem Schlüssel Schreibzugriff zu gewähren. Klicken Sie darauf (es sei denn, Sie verwenden git nur zur Bereitstellung. In diesem Fall klicken Sie nicht darauf). 

0
user1928764