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.
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
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
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.
Ich hatte das gleiche Problem mit GitHub. Es ist leicht zu lösen.
git clone
zu machen.Ich stand auch vor demselben Problem. Ich habe folgendes getan und es hat für mich funktioniert:
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. 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üsselssh-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 anzeigenedit: 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
Github (oder Bitbucket) kann Ihren SSH-Schlüssel nicht auf ihrem Server finden.
Fügen Sie einfach Ihren Schlüssel in Ihren Kontoeinstellungen hinzu.
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.
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.
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!!
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
)
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.
Sie müssen einen neuen SSH-Schlüssel erstellen, indem Sie ssh-keygen -t rsa
ausführen.
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.
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
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.
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
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.
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:
ssh-add /path/to/new/id_rsa
hinzu.~/.ssh/
eine Datei mit dem Namen config
. Ich habe vi ~/.ssh/config/
verwendet.# GitLab.com server
Host gitlab.com
RSAAuthentication yes
IdentityFile /path/to/new/id_rsa
Starten Sie danach das Terminal neu und versuchen Sie es zu drücken, es sollte funktionieren
fix für hub
cli tool:
git config --global hub.protocol https
für langfristigegit remote add OOPS https://github.com/isomorphisms/go.git
&& git Push OOPS
zur sofortigen KorrekturDieser 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.
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:
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]
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).