Ich kann kein Git-Repository klonen und erhalte folgende Fehlermeldung:
krishna.soni@KRISHNACHANDRAS /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 gelesen werden für" gelesen , habe aber immer noch das Problem.
Ich bin weiter vorgegangen, erhalte aber jetzt diesen Fehler
sh.exe": chown: command not found
krishna.soni@KRISHNACHANDRAS /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.
> krishna.soni@KRISHNACHANDRAS /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.
Antworten:
Es sieht aus wie ein Berechtigungsproblem - 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-Repositorys bitten, den
ssh
öffentlichen Schlüssel hinzuzufügenInformationen dazu: Das Speichern des SSH-Schlüssels schlägt fehl
quelle
Für Leute, die hierher kommen und nur versuchen, das Repository abzurufen, sich aber nicht für das Protokoll interessieren (ssh / https), möchten Sie möglicherweise nur https anstelle von ssh verwenden (sofern dies unterstützt wird).
So verwenden Sie zum Beispiel
anstatt
quelle
ssh
aufhttps
. Das ursprüngliche Problem wird nicht durch die Verwendung von ssh für den Zugriff auf das Repository gelöst. Ich frage mich, wie dies als gute Antwort auf die Frage immer wieder positiv bewertet werden kann. Die anderen Antworten unten lösen es richtig.Wenn nach dem Erstellen von SSH und dem Hinzufügen in Ihrem Bitbucket-Konto oder wo immer noch Probleme mit dem Zugriff auftreten, müssen Sie im Terminal unter GitBash, OSX oder Linux Folgendes tun:
Wenn Ihr Schlüssel dann nicht aufgelistet ist, fügen Sie ihn wie folgt hinzu (ersetzen Sie ihn
identity
durch seinen richtigen Namen):Das hat bei mir funktioniert.
quelle
ssh-add ~/.ssh/identity
Rückgabefehler/Users/lee/.ssh/identity: No such file or directory
cd ~
danncd .ssh
dannls
(kopieren Sie den Namen ohne .pub-Erweiterung) dann (führen Sie diesen Befehl aus)ssh-add ~/.ssh/(copied name)
Ich hatte das gleiche Problem mit GitHub . Hier erfahren Sie, wie Sie es lösen können!
git clone
dem Projekt.quelle
Ich hatte dieses Problem auf einem Mac - während ich SSH korrekt einrichtete, um auf mein Git-Repository zuzugreifen, wurden nach dem Neustart (und einige Zeit, in der der Mac in einer Pattsituation war) alle meine Anmeldeinformationen entfernt. Anscheinend wurde der Pub-Schlüssel aus irgendeinem Grund auf 644 gesetzt, was dazu führte, dass er aus dem Schlüsselbund entfernt wurde. Zu lesen:
chmod 600
der öffentliche Schlüsselssh-add ~/.ssh/[your private key]
- Dies sollte anzeigen, dass Identität hinzugefügt wurde. Die gewünschte Schlüsseldatei ist die ohne die Erweiterung .pub.ssh-add -l
sollte Ihnen neu hinzugefügte Identität zeigenBearbeiten: Anscheinend neigt MacOS dazu, Schlüssel zu entfernen. Nach dem Herunterladen des High Sierra-Updates (aber ich habe es noch nicht installiert) wurde mein Schlüssel entfernt und ich musste ihn erneut über hinzufügen
ssh-add
quelle
Ich stand auch vor dem gleichen Problem. Ich habe folgendes gemacht und es hat bei mir 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.quelle
Als ich aus meinem Repository klonen wollte, wurde mir dieselbe Meldung vor "Berechtigung verweigert (publickey) fatal: Konnte nicht aus Remote-Repository lesen" angezeigt. Die Lösung für meinen Fall ist , Sudo nicht vor dem Klonen zu verwenden. Das war's.
quelle
Github (oder Bitbucket) kann Ihren SSH-Schlüssel nicht auf ihrem Server finden.
Fügen Sie einfach Ihren Schlüssel in Ihre Kontoeinstellung ein.
quelle
Wenn Sie einen neuen öffentlichen SSH-Schlüssel generieren 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!!
quelle
Sie müssen einen neuen SSH-Schlüssel erstellen, indem Sie ausführen
ssh-keygen -t rsa
.quelle
Ich habe den Fehler bekommen ...
... als ich versuchte, über eine Git Bash-Eingabeaufforderung Kontakt mit Bitbucket aufzunehmen, nachdem mein Laptop an einem schlechten Windows 10-Update gestorben war und auf die Werkseinstellungen zurückgesetzt wurde. Ich hatte alle meine SSH-Dateien aus einem Backup wiederhergestellt.
Die Fehlerursache war eine Nichtübereinstimmung in meinem Windows-Kontonamen nach der Neuerstellung des Computers. Ich habe erfahren, dass die Datei
id_rsa.pub
mit dem öffentlichen Schlüssel mit einer leicht lesbaren Zeichenfolge endet, die meinen Windows-Kontonamen gefolgt von einem enthält@
Zeichen und dem Computernamen enthält.Als ich meinen Computer ursprünglich eingerichtet habe, habe ich meinen Windows-Kontonamen einschließlich meiner mittleren Initiale erstellt. Als mein Computer jedoch auf die Werkseinstellungen zurückgesetzt wurde, hat unser neuer DevOps-Typ meinen Kontonamen ohne meine mittlere Initiale erstellt.
Um das Problem zu beheben, habe ich einfach meine öffentliche Schlüsseldatei bearbeitet
id_rsa.pub
und am Ende die mittlere Initiale in meinem Namen entfernt. Ich hatte mich an denselben Computernamen gehalten, also war das in Ordnung. Ich habe den Dateiinhalt in die Windows-Zwischenablage kopiert. Ich habe mich dann bei Bitbucket angemeldet, bin unter meinem Avatar zu den Bitbucket-Einstellungen gegangen und habe einen neuen öffentlichen Schlüssel hinzugefügt, in den ich die neuen Inhalte eingefügt habe.Zurück an der Git Bash-Eingabeaufforderung bestätigte ich durch Eingabe des Befehls, dass es jetzt funktioniert ...
... und ich habe eine Nachricht zurückbekommen, dass ich angemeldet war.
quelle
Unter macOS / Linux (Ubuntu):
1. Um sich zu authentifizieren, müssen Sie Ihren öffentlichen Teil Ihres SSH-Schlüsselpaars über Ihre Benutzereinstellungen zu bitbucket hinzufügen: Benutzereinstellungen -> SSH-Schlüssel
Sie finden den genannten öffentlichen Teil normalerweise in Ihrem ~ / .ssh-Verzeichnis
id_rsa.pub
. Beachten Sie den.pub
Teil des Dateinamens für Public. Es wird Ihnen helfen, eine zu generieren, wenn Sie noch keine haben2. Sie müssen Ihrem System mitteilen, welcher Schlüssel mit welchem Remote-Host verwendet werden soll. Fügen Sie diese Zeilen daher zu Ihrer Datei ~ / .ssh / config hinzu
Wo
PRIVATE_KEY_FILE_NAME
ist der Name des privaten Teils Ihres SSH-Schlüsselpaars? Wenn Sie nicht damit herumgespielt haben, lautet der Standardname normalerweise:id_rsa
In diesem Fall ersetzen SiePRIVATE_KEY_FILE_NAME
oben durchid_rsa
(der private Schlüssel hat KEINE.pub
Erweiterung).quelle
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 hilfreich hinweist, aber einige übersehen ihn möglicherweise. Der Abschnitt ist Hinzufügen Ihres SSH-Schlüssels zum SSH-Agenten .
Ich hatte meinen SSH-Schlüssel bereits generiert, konnte aber nach einem Neustart keines meiner eigenen Repositorys klonen.
Ich musste den ssh-Agenten starten und diesem Agenten den privaten Schlüssel hinzufügen, um zu klonen.
quelle
Beim Ausführen des
git clone
Befehls über die Windows-Befehlszeile trat das gleiche Problem auf . Der Befehl wird jedoch erfolgreich von Git Bash ausgeführt .quelle
Ich hatte das ähnliche Problem. Ich ändere die SSH-Schlüssel und starte neu und probiere alle anderen 'n' Lösungen aus. 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
Ändern Sie die Remote-URL
quelle
Wenn alles fehlschlägt, wie bei mir, DIT deinstallieren, neu installieren. Aus irgendeinem Grund wird dies behoben.
PS
quelle
Fix für
hub
CLI-Tool:git config --global hub.protocol https
langfristiggit remote add OOPS https://github.com/isomorphisms/go.git
&&git push OOPS
zur sofortigen BehebungDieser Fehler tritt beim
hub
Befehlszeilentool aufgrund des falschen Standardwerts fürhub.protocol
git-config auf. Sie setzen Repos aufanstelle dessen, was Github tatsächlich akzeptiert, nämlich
https://github.com/schacon/ticgit.git
.Durch Lesen
LESS=+/"HTTPS instead" man hub
wird erklärt, woher der obige Befehl "Langzeitbehebung" stammt.quelle
Beim Klonen hatte ich ein ähnliches Problem [mein FEHLER: Berechtigung verweigert (publickey). fatal: Konnte nicht aus dem Remote-Repository lesen. Bitte stellen Sie sicher, dass Sie die richtigen Zugriffsrechte haben .. etc]
- Ich habe in meinem Fall bitBucket / UBUNTU14.04 verwendet, aber BEREITS hatte ich eine Reihe von Schlüsseldateien, die ich zuvor generiert und den Namen der Dateien geändert hatte. Ich habe die Dateien einfach in das Standardformat id_rsa & id_rsa.pub kopiert. Ich habe dann den Befehl ohne Problem erneut ausgeführt.
OBTW : Ich hätte auch die Kennwortabfrage mithilfe des HTTP-Klons verwenden können.
quelle
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. Klicken Sie in diesem Fall nicht darauf).
quelle
Ich hatte den gleichen Fehler. Meine Lösung bestand darin, mich abzumelden und erneut anzumelden, da mein SSH-Agent nicht mehr mit dem Remote-SSH-Schlüssel synchronisiert war.
Fügen Sie dies hier hinzu, nur für den Fall, dass jemand gesehen hat, dass die anderen Antworten nicht auf seine Situation zutreffen.
quelle
Ich hatte das gleiche Problem, als ich ssh für gitlab einrichtete. Ich habe bereits ssh für
github
und ich konnte das nicht überschreiben. Die Schritte, die für mich gearbeitet haben, sind:ssh-add /path/to/new/id_rsa
.config
in~/.ssh/
Verwendung. Ich habe benutztvi ~/.ssh/config/
.# 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
quelle
Wenn Sie Open Source-Projekte klonen möchten, um eine Pull-Anfrage zu senden:
Ich wollte ein Open Source-Projekt klonen, damit ich einige Pull-Anfragen einreichen konnte. 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:
Dann klonen Sie aus Ihrem gegabelten Repository.
Arbeiten Sie an Ihren Funktionen und senden Sie dann eine Pull-Anfrage.
quelle
Sie können versuchen, Ihren SSH-Schlüssel zu Ihrem privaten Schlüsselbund hinzuzufügen. Es hat bei mir funktioniert
quelle
Lösung: Auf dem Server, den Sie versuchen, auf cat ~ / .ssh / id_rsa.pub zu klonen oder von dort zu pushen, gehen Sie zu GitHub, Einstellungen, SSH- und GPG-Schlüssel , Neuer SSH-Schlüssel zum Einfügen.
quelle
Ich sehe, dass diese Fehlermeldung viele verschiedene Gründe hat. Ich hatte den gleichen Fehler, als ich versuchte, lokal ein anderes Repository neben einem Repository einzurichten, das bereits vollständig mit ssh usw. funktioniert, und es mit demselben Server, aber einem anderen Repository zu verbinden. Es waren keine Antworten zu finden, aber ich habe es herausgefunden. Also poste ich es. Hoffentlich hilft jemand.
quelle
wenn keine dieser Antworten hilft und
Versuchen
Dann finden Sie nach git clone und geben yes ein, um zu bestätigen, dass der Klon beginnen soll
quelle
Es mag dumm sein, aber es ist uns passiert:
Wenn Sie Bitbucket und Sourcetree verwenden und einfach die Klon-URL kopieren und in das neue Repo-Dialogfeld einfügen, wird beim Ziehen oder Drücken der gleiche Fehler angezeigt.
Stellen Sie sicher, dass Sie das 'Git-Klon'-Zeug vor der URL löschen.
quelle