it-swarm.com.de

Git-Fehler: "Stellen Sie sicher, dass Sie über die richtigen Zugriffsrechte verfügen und das Repository vorhanden ist."

Ich verwende TortoiseGit unter Windows. Wenn ich versuche, über das Kontextmenü des Standard-Windows-Explorers zu klonen, erhalte ich folgende Fehlermeldung:

Stellen Sie sicher, dass Sie über die richtigen Zugriffsrechte verfügen und das Repository vorhanden ist

Genauer gesagt ist der Schnappschuss von Terminal das Folgende:

git.exe klon --progress -v "git @ arobotdev:\git\AlfaRobot.git" "C:\Work\AlfaRobot"

Klonen in 'C:\Work\AlfaRobot' ...
Zugang verweigert, versuche es bitte erneut.
Zugang verweigert, versuche es bitte erneut.
Erlaubnis verweigert (Publickey, Passwort).
fatal: Konnte nicht aus dem Remote-Repository lesen.

Bitte vergewissern Sie sich, dass Sie die richtigen Zugriffsrechte haben
und das Repository existiert.

git wurde nicht sauber beendet (Beendigungscode 128) (21450 ms @ 19.09.2014 10:36:58)

Was muss ich tun, damit git richtig funktioniert?

42
Alex

Ihre Git-URL hat sich möglicherweise geändert. Ändern Sie die URL im lokalen Verzeichnis mit dem folgenden Befehl

git remote set-url Origin [email protected]
46
Vishnu

Dieses Problem könnte bei Ihrem ssh-agent liegen, Ihr ssh-Schlüssel wurde nicht mit ssh-agent hinzugefügt. Sie müssen die folgenden Schritte mit Ihrem Terminal ausführen: -

  1. $ eval "$ (ssh-agent -s)"

    Agent pid 5867

  2. $ ssh-add

    Geben Sie die Passphrase für /home/you/.ssh/id_rsa ein: [] Identität hinzugefügt: /home/you/.ssh/id_rsa (/home/you/.ssh/id_rsa)

dann wird es funktionieren..cheers J.

34
Onkar_M18

Für mich war es kein SSH-Schlüssel auf der Maschine. Überprüfen Sie den SSH-Schlüssel lokal:

$ cat ~/.ssh/id_rsa.pub

Dies ist Ihr SSH-Schlüssel. Fügen Sie es Ihren SSH-Schlüsseln im Repository hinzu.
In Gitlab gehen Sie zu 

profileinstellungen -> SSH-Schlüssel 

und fügen Sie den Schlüssel hinzu

21
Jacek Góraj

Versuchen Sie, HTTPS anstelle von SSH zu verwenden, indem Sie die close-URL von GIT verwenden. Es funktioniert für mich ... und dann von dieser URL, von Gitbase oder einem anderen Git-Client .  enter image description here

12

Sie versuchen, das Repository über ssh: [email protected] zu klonen, und Ihre SSH-Schlüssel sind nicht ordnungsgemäß auf dem Server festgelegt. Dafür gibt es mehrere Gründe:

  1. Ihr öffentlicher Schlüssel wird möglicherweise nicht in der Datei authorized_keys des Benutzers git gespeichert
  2. Wenn 1 nicht wahr ist, wird Ihr privater Schlüssel nicht im .ssh/-Ordner Ihres HOMEDIR gespeichert.
  3. Berechtigungen sind nicht richtig festgelegt

Wenn alle 3 oben nicht zutreffen, kann ich nur Folgendes versuchen: [email protected]:AlfaRobot.git Angenommen, AlfaRobot.git befindet sich in HOMEDIR von git user und nicht in einem Ordner namens git, der in HOMEDIR von user git liegt.

6
Mudassir Razvi

Der rsa.pub (d. H. Der generierte öffentliche Schlüssel) muss auf der Seite github >> settings >> ssh keys hinzugefügt werden. Stellen Sie sicher, dass Sie diesen öffentlichen Schlüssel nicht in den Repository-Einstellungen >> Implementierungsschlüsseln hinzugefügt haben. Wenn ja, entfernen Sie den Eintrag von hier und fügen Sie ihn an erster Stelle hinzu.

Einrichtung der öffentlichen Schlüssel in detail .

Es wird also funktionieren!

5
parasrish

Versuchen Sie es mit https anstelle von ssh. Wählen Sie auf der Projekthomepage die Option https aus, von der Sie die Klon-URL kopieren.

2
Vedha Peri

fügen Sie diese Zeilen Ihrer .get/config-Datei hinzu (dank @kovshenin answer Git Pull: Change Authentication ):

[credential]
    helper = wincred
2
Shqear

So löse ich dieses Problem. Ich habe Babun (mintty.exe) unter Win7/10 verwendet. Wenn ich viele der oben genannten Lösungen ausprobiert habe und keine davon funktioniert. Ich habe festgestellt, dass ich vielleicht gerade den falschen ssh-Agenten verwendet habe ... Also renne ich echo $GIT_SSH, um herauszufinden, dass es den Pfad zu Plink.exe____ gibt. Was ich eigentlich erwartet habe, ist OpenSSH.

Also füge ich der ~/.zshrc-Datei den folgenden Einzeiler hinzu

Anmerkung 1: Sie können es auch direkt in babun ausführen
Hinweis 2: Wenn Sie bash verwenden, ist die Konfigurationsdatei .bashrc 

export GIT_SSH=$(which ssh)

Und es funktioniert!

2
Paris Qian Sen
  1. Das erste, was Sie möglicherweise bestätigen möchten, ist die Internetverbindung. Internetprobleme besagen jedoch meist, dass auf das Repo nicht zugegriffen werden kann.

  2. Stellen Sie sicher, dass Sie ssh sowohl lokal als auch auf Ihrem Github eingerichtet haben. Siehe wie

  3. Stellen Sie sicher, dass Sie die ssh git-Fernbedienung verwenden. Wenn Sie das https geklont haben, setzen Sie die URL einfach mit diesem git-Befehl auf die ssh-URL git remote set-url Origin [email protected]:your-username/your-repo-name.git

  4. Wenn Sie ssh richtig eingerichtet haben, es aber gerade nicht mehr funktioniert, gehen Sie wie folgt vor:

    • eval "$(ssh-agent -s)"
    • ssh-add

    Wenn das Problem weiterhin besteht, stellen Sie sicher, dass Sie den ssh nicht von Ihrem Github gelöscht haben. In einem Fall, in dem der ssh aus github gelöscht wurde, können Sie ihn wieder hinzufügen. Verwenden Sie pbcopy < ~/.ssh/id_rsa.pub, Um den SSH-Schlüssel zu kopieren, und wechseln Sie dann zu Ihrer Github-SSH-Einstellung, und fügen Sie sie hinzu.

Ich werde empfehlen, immer ssh zu verwenden. Bei den meisten Teams, mit denen ich zusammengearbeitet habe, können Sie nur mit ssh auf das Repo zugreifen (das größtenteils privat ist). Für einen Anfänger mag es schwieriger erscheinen, aber später werden Sie es einfacher und sicherer finden.

1
Obinna Nnenanya

Ein alternatives Problem kann Ihre Internetverbindung sein. Natürlich vielleicht, aber ich brauchte ein paar Minuten, um herauszufinden, dass mein WLAN ausgefallen ist :)

0
BoltzmannBrain

Dies kann auch passieren, wenn Sie über ein VPN eine Verbindung zu Ihrem Git-Repository herstellen. Stellen Sie sicher, dass Sie mit dem VPN verbunden sind, über das auf die Ressourcen Ihrer Organisation zugegriffen wird.

0
John Doe

Seltsamerweise erhielt ich diesen Fehler nur in einem meiner vielen Repos.

Mein Problem war nach der Installation des neuen GitHub Desktop für Windows, wo der vorherige alte GitHub für Win die Schlüssel in ~/.ssh/github_rsa und ~/.ssh/github_rsa.pub aufbewahrte, während der neue GitHub für Win es in ~/.ssh/id_rsa erwartet, sodass die Lösung lediglich die vorhandenen privaten und öffentlichen Schlüssel umbenannte:

~/.ssh/github_rsa -> ~/.ssh/id_rsa
~/.ssh/github_rsa.pub -> ~/.ssh/id_rsa.pub

Danach habe ich wieder ohne Probleme auf das Repo zugreifen können.

0
mythz

Ich benutze Ubuntu

nachdem ich viele Antworten gelesen habe, kann keine von ihnen das Problem lösen, auch wenn ich meinem Git-Konto bereits einen SSH-Schlüssel hinzugefügt habe, und versuche, ihn mit ssh -T [email protected] und der Angabe Welcome <my username> zu testen Ich habe keine Zugriffsrechte. Dann fand ich den Grund:

Wenn Sie kein root Benutzer sind, müssen Sie normalerweise für jeden git-Befehl Sudo ausführen.

beim Ausführen von Sudo git clone <SSH....> (zum Beispiel). Es wird mit der Berechtigung root ausgeführt, aber wenn ich den SSH-Schlüssel erstelle, starte ich ihn als normaler Benutzer und speichere den Schlüssel unter ~/.ssh/id_rsa. Es wird der absolute Pfad /home/username/.ssh/id_rsa aufgelöst. Und wenn Sudo git clone ... ausgeführt wird, wird nach dem SSH-Schlüssel in /root/.ssh/id_rsa gesucht.

Warum kann ich mir da sicher sein? Um zu sehen, wo git nach deinem SSH-Schlüssel sucht. Führen Sie diesen Befehl aus: Sudo GIT_TRACE=1 GIT_SSH_COMMAND="ssh -vvv" git clone <your repository in SSH>. Es zeigt Ihnen, wo es nach Ihrem SSH-Schlüssel sucht.

Also die LÖSUNG, die ich vorschlage, ist:

Erstellen Sie Ihren SSH-Schlüssel neu (befolgen Sie diese Anweisung ), ABER führen Sie Sudo su im allerersten Schritt aus, dann sollte es Ihnen gut gehen.

0

Wie bei anderen Antworten war https anstelle von ssh die Lösung.

Ich poste eine Antwort, um ein konkretes Beispiel für eine mögliche Lösung zu geben. Ich habe dieses Problem mit bitbucket gelöst, als ich die Remote-URL in HTTPS mit dieser Befehlszeile geändert habe:

git remote set-url Origin <bitbucket_URL>

Danach konnte ich den Inhalt mit diesem Befehl in das Repository verschieben:

git Push -u Origin --all

Und dann könnte ich auch Sourcetree verwenden

0

Ich habe diesen Fehler beim Hochladen des Projekts in gitlab festgestellt. Ich habe nicht von Git geklont, sondern ein Projekt hochgeladen. Um Ihren Code an gitlab zu senden, haben Sie zwei Möglichkeiten, entweder ssh oder https zu verwenden. Wenn Sie https verwenden, müssen Sie den Benutzernamen und das Passwort des gitlab-Kontos eingeben. Um Ihren Code an Git zu senden, können Sie folgenden Code verwenden.

Zum ersten Mal auf Git pushen

>$ cd
>$ mkdir .ssh;cd .ssh
>$ ssh-keygen -o -t rsa -b 4096 -C "[email protected]"

Der Parameter -C ist optional. Er enthält einen Kommentar am Ende Ihres Schlüssels, um ihn von anderen zu unterscheiden, wenn Sie mehrere haben. Dadurch werden id_rsa (Ihr privater Schlüssel) und id_rsa.pub (Ihr öffentlicher Schlüssel) erstellt. Wir geben unseren öffentlichen Schlüssel weiter und behalten unseren privaten Schlüssel - na ja, privat. In den Benutzereinstellungen von Gitlab können Sie dann hinzufügen Ihren öffentlichen Schlüssel zu Ihrem Konto eingeben, damit wir schließlich Push ausführen können.

Verwenden Sie in Ihrem Projektverzeichnis (Directory) den folgenden Befehl

git init

Es verwandelt das aktuelle Verzeichnis in ein Git-Repository. Dies fügt dem aktuellen Verzeichnis ein .git-Unterverzeichnis hinzu und ermöglicht es, Revisionen des Projekts aufzuzeichnen.

Push Using https path

git Push --set-upstream https://gitlab.com/Account_User_Name/Your_Project_Name.git master

Push Using ssh path

git Push --set-upstream [email protected]:Account_User_Name/Your_project_Name.git master

- set-upstream: teilt git den Pfad zu Origin mit. Wenn Git zuvor auf Ihren aktuellen Zweig gepusht hat, merkt es sich, wo Origin ist

master: Dies ist der Name des Zweigs, zu dem ich beim Initialisieren einen Push ausführen möchte

0
GSK

Das Hinzufügen des SSH-Schlüssels hat bei mir funktioniert. Sie können einen SSH-Schlüssel mit dem Befehl ssh-keygen auf einem Mac erstellen. Das Menü Schlüssel bereitstellen sollte unter YourRepository> Einstellungen angezeigt werden. Vergessen Sie nicht, die Option Schreibzugriff zulassen zu aktivieren.

Screenshot des Menüs "Schlüssel bereitstellen"

0
tlrmacl

verwenden Sie Ihren https-Ursprung anstelle von ssh url

beispiel:

git remote add Origin  https://gitlab.com/user/folder.git
0
stilo bit

Ich hatte dieses Problem und stelle fest, dass mein System eine falsche DNS-Adresse hat. Überprüfen Sie Ihr Netzwerk und testen Sie mit

ssh -vvv [email protected]

Und lesen Sie die Ausgabenachrichten. Wenn Sie sehen "Sie können git oder hg verwenden, um eine Verbindung zu Bitbucket herzustellen." , alles ist ok.

0
albert

Github verwendet jetzt ein URL-Schema

git remote set-url Origin https://github.com/username/repository.git

0
RyPope