Fehler „Git-Berechtigung verweigert (öffentlicher Schlüssel)“

Fehler „Git-Berechtigung verweigert (öffentlicher Schlüssel)“

Ich habe mich schon oft mit GitHub verbunden und weiß, wie man SSH-Schlüssel generiert und id_rsa.pubin die GitHub-Einstellungen einfügt. Aber aus irgendeinem Grund kann ich mit dieser Installation keine Verbindung herstellen. Ich versuche gerade, ein privates Repo auf einen neuen Server zu klonen, aber beim Klonen erhalte ich:

Zugriff verweigert (öffentlicher Schlüssel). fatal: Die Gegenstelle hat unerwartet aufgelegt

Wenn ich ausführe:

ssh -T [email protected]

Es zeigt mir an, dass ich mich erfolgreich authentifiziert habe.

Was kann ich sonst noch versuchen? Ich führe dies auf einem Bitnami-Stack aus, also verursacht das vielleicht Probleme? Das ist wahrscheinlich das Problem, ich bin mir nur nicht sicher, was ich dagegen tun soll. Es gibt bereits einen Satz Schlüssel im Verzeichnis .ssh/authorized_keys. Ich habe diese unverändert gelassen, da ich mich so mit Putty/Pagent verbinde. Ich habe die neuen Schlüssel in /.ssh abgelegt und die authorized_keys unverändert gelassen. Was wäre die richtige Art, dies einzurichten? Soll ich einfach beide Paare löschen und von vorne beginnen? Dieselben Schlüssel für Putty und GitHub verwenden? Warum authentifiziere ich mich immer noch, wenn ein Problem vorliegt?

Antwort1

Haben Sie versucht, ein neues SSH-Zertifikat bzw. ein neues Schlüsselpaar zu erstellen?

1 Standard-Schlüsselpaar generieren:

$ ssh-keygen -t rsa -C "[email protected]"

Verwenden Sie dies nicht, wenn Sie bereits über ein SSH-Zertifikat verfügen.

2 Zusätzliche Schlüsselpaare generieren:

$ ssh-keygen -t rsa -C "[email protected]"

3 Nicht-Standardschlüssel hinzufügen

$ ssh-add ~/.ssh/id_rsa_seconduser
Enter passphrase for /Users/defaultuser/.ssh/id_rsa_seconduser: 
Identity added: /Users/defaultuser/.ssh/id_rsa_defaultuser  (/Users/defaultuser/.ssh/id_rsa_defaultuser)

4 Legen Sie die SSH-Konfigurationsdatei ( ~/.ssh/config) so fest, dass SSH weiß, welcher Schlüssel für welchen Server verwendet werden soll:

Host github.com
  HostName github.com
  User git
  IdentityFile /Users/XXXUser/.ssh/id_rsa

Host github-client
  HostName github.com
  User git
  IdentityFile /Users/XXXUser/.ssh/id_rsa_XXXSECONDUSER

5 Stellen Sie sicher, dass .git/configSie in der Datei für das Git-Projekt, das mit dem zweiten Benutzerkonto bei Github verknüpft ist, den richtigen Hostnamen verwenden github-clientund nicht github.com:

[remote "origin"]
    fetch = +refs/heads/*:refs/remotes/origin/*
    url = git@github-client:foobarsomeuser/foobar.git

Antwort2

Scheint so, als ob Ihr öffentlicher Schlüssel entweder fehlt oder Sie einen falschen öffentlichen Schlüssel in Ihren Schlüsselbund eingefügt haben. Überprüfen Sie, ob der Schlüsselbund in vorhanden ist ~/.ssh. Schwer zu sagen, ohne Ihr Betriebssystem zu erwähnen


Im Verzeichnis .ssh/authorized_keys befindet sich bereits ein Schlüsselsatz.

Ich glaube, das sind die Schlüssel, die für die SSH-Anmeldung zum Linux-Server erforderlich sind.

Der beste Weg wäre, einen neuen Satz privater/öffentlicher Schlüssel für GitHub zu generieren, den PK zu Ihrem Linux-Server-Schlüsselbund hinzuzufügen und den öffentlichen Schlüssel beiGithub-Konten.

Antwort3

Dies ist ein Fehler gnome-keyring-daemonunter Ubuntu 14.04 LTS.

Sehen:https://stackoverflow.com/a/44753293/1156933

verwandte Informationen