SourceTree immer Zugriff verweigert (Publickey)

Lesezeit: 4 Minuten

Benutzeravatar von Frankie_0927
Frankie_0927

Ich verwende soureTree für das Clone-SSH-Projekt.

  1. Ich habe bereits einen SSH-Schlüssel erstellt
  2. Ich habe bereits die gitlab-SSH-Schlüsseleinstellung eingerichtet
  3. Ich habe ssh-add “mysshkey”
  4. Ich habe ssh-add -K ‘mysshkey’

Wenn ich ssh -T drucke, kann ich es in der Befehlszeile erfolgreich machen. Wenn ich Klon git, ziehe, drücke in ssh-Wege … Es funktioniert immer noch in der Befehlszeile. (Terminal)

aber im Quellbaum wird jetzt immer noch ein Fehler angezeigt:

Permission denied (publickey)

wie kann ich es lösen?

Ich habe SourceTree 2.7.6 heruntergeladen und bin auf dasselbe Problem gestoßen. Ich denke, @ Frankie_0927 hat Recht, der private Schlüssel muss id_rsa heißen und im SSH-Agenten registriert sein.

Für andere Leute, die auf dieses Problem gestoßen sind: Versuchen Sie, ein Schlüsselpaar zu generieren, indem Sie den Anweisungen im folgenden Link folgen:
https://help.github.com/articles/connecting-to-github-with-ssh/
Speichern Sie den privaten Schlüssel id_rsa in ~/user/YOURUSERNAME/.ssh (Pfad für Mac) und posten Sie den öffentlichen Schlüssel im Github-Konto. dann renne

ssh-add -l

du wirst sehen

The agent has no identities.

also rennst du

ssh-add -K ~/.ssh/id_rsa

um den Schlüssel in den SSH-Agenten hinzuzufügen. danach laufen

ssh-add -l

Auch hier sehen Sie, dass der Schlüssel hinzugefügt wurde und das Problem gelöst sein sollte.

  • sehr direkte und tolle Antwort. Vielen Dank

    – NaXir

    4. Mai 2021 um 9:04 Uhr

Ich konnte es beheben, indem ich meinen Github-Schlüssel zum Apple-Schlüsselbund hinzufügte:

ssh-add --apple-use-keychain ~/.ssh/id_ed25519

  • Super! Es funktionierte. In meinem Fall war der Schlüssel anders – der von Sourcetree generiert wurde. Anstelle von “id_ed25519” habe ich also meinen Schlüssel ausgewählt und es hat funktioniert

    – Saurabh Prajapati

    15. April 2022 um 7:25 Uhr


Benutzeravatar von Saige Zhang
Saige Zhang

Sie erhalten diese Nachricht, weil sie Sie mit keinem der Schlüssel authentifizieren konnte, die ihr von Ihrem SSH-Agenten angeboten wurden. Um zu überprüfen, ob dies der Fall ist, gehen Sie wie folgt vor:

ssh -T 

Dadurch wird versucht, für Mercurial eine Verbindung zu ihm herzustellen. Sie sollten eine Antwort ähnlich der folgenden erhalten, wenn Ihr Schlüssel korrekt geladen wurde.

Wenn Sie keine Nachricht sehen, kann dies mehrere Faktoren haben, aber dies sind die häufigsten:

– Ihr öffentlicher Schlüssel ist nicht geladen

Um zu überprüfen, ob Ihr öffentlicher Schlüssel geladen ist, gehen Sie wie folgt vor:

  1. Öffnen Sie einen Browser und melden Sie sich bei Origin an.

  2. Die Seite SSH-Schlüssel wird angezeigt. Es zeigt eine Liste aller vorhandenen Schlüssel.

  3. Wenn Sie keine Schlüssel aufgelistet haben, richten Sie einen ein.

– Ihre Identität wird nicht in Ihren SSH-Agenten geladen

Wenn Ihr SSH-Agent keinen Schlüssel anbieten kann, schlägt die Verbindung fehl. Um herauszufinden, welche Schlüssel Ihr SSH-Agent derzeit anbietet, und sie hinzuzufügen, gehen Sie wie folgt vor:

$ ssh-add -l

Wenn Sie Ihren Schlüssel dann nicht aufgelistet sehen, fügen Sie ihn hinzu

ssh-add ~/.ssh/identity

Weitere Informationen finden Sie in unserem vollständigen Leitfaden zur Fehlerbehebung bei SSH-Problemen.

– Sie sind nicht berechtigt, das Repository auf Ihrem lokalen Dateisystem zu erstellen

Wenn Sie den Fehler “Permission denied” erhalten, ist es auch möglich, dass git oder mercurial keine Berechtigung hat, den Projektordner lokal zu erstellen. Überprüfen Sie die Berechtigungen für das Verzeichnis, in dem Sie versuchen, das Projekt auszuchecken, und stellen Sie sicher, dass Sie über Schreibzugriff verfügen.

1   Right click and "Run as Administrator".
2   Type ssh-keygen
3   Press enter.
4   It will ask you to save the key to the specific directory.
5   Press enter. It will prompt you to type password or enter without password.
6   The public key will be created to the specific directory.
7   Now go to the directory and open .ssh folder.
8   You'll see a file id_rsa.pub. Open it on notepad. Copy all text from it.
9   Go to https://gitlab.com/profile/keys .
10  Paste here in the "key" textfield.
11  Now click on the "Title" below. It will automatically get filled.
12  Then click "Add key".

Es wurde festgestellt, dass in /var/log/gitlab/sshd/current eine Meldung mehrfach vorkam: Authentifizierung verweigert: Bad Ownership or Modes for File /var/opt/gitlab/.ssh/authorized_keys Danach habe ich den Besitz dieser Datei geändert 99:users zu git:users mit: chown git:usersauthorized_keys

  • danke, aber ich denke, dein Vorschlag funktioniert nicht für mich, alle Schritte, die ich versuche, aber immer noch nicht funktionieren

    – Frankie_0927

    2. August 2018 um 10:01 Uhr

  • danke, ich schreibe meinen ssh-Schlüssel von id_rsa um, und es funktioniert, ich denke, sourceTree liest standardmäßig diesen Schlüsselnamen, aber ich weiß nicht, wie ich den aktuellen Schlüsselnamen von default ändern soll

    – Frankie_0927

    3. August 2018 um 3:12 Uhr

  • Vielen Dank. Ich hatte mehrere ssh-Identitäten und die entsprechende wurde nicht geladen ssh-add. Führen Sie den Befehl add aus, dann pusht Sourcetree erneut (obwohl sourcetree den privaten Schlüssel immer geladen “hatte”).

    – Kai

    8. Dezember 2020 um 8:52 Uhr

  • Das hat bei mir super funktioniert! Der SSH-Agent hatte keine Identitäten, weshalb der Fehler auftrat.

    – Keshav

    27. Juni 2022 um 6:00 Uhr

Sourcetree verwendet den SSH-Schlüssel unter dem Ordner /User/YOURNAME/.ssh/id_rsa um mit dem Git-Remote-Server zu arbeiten.

Wenn Sie Schlüssel in einem anderen Ordner generieren, ist der Schlüssel nur in dem von Ihnen ausgeführten Terminal gültig eval "$(ssh-agent -s)" & ssh-add. Darüber hinaus wird es ungültig, sobald das Terminal geschlossen wird.

1440630cookie-checkSourceTree immer Zugriff verweigert (Publickey)

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy