Git und ssh autorisieren

8

Ich kann mich nicht mit generierten ssh-Schlüsseln bei github anmelden. Ich bin diesem Handbuch gefolgt: Ссылка , aber bei Schritt:

  

ssh [email protected]

Ich bekomme:

  

Der Agent gab zu, dass er nicht signiert hat   der Schlüssel. Erlaubnis verweigert   (publickey).

Was ist los? Und natürlich füge ich meine eigene Benutzer-E-Mail hinzu.

Versuchte dsa-Schlüssel, die gleiche Sache.

    
Ockonal 30.03.2010, 14:31
quelle

8 Antworten

4

Aus dem Leitfaden zur Fehlerbehebung :

  

Berechtigung verweigert (publickey)

     

Dies wird normalerweise verursacht, wenn ssh nicht kann   finde deine Schlüssel. Stellen Sie sicher, dass Ihr Schlüssel ist   im Standardspeicherort ~ / .ssh. Ob   Sie laufen ssh-keygen wieder und einfach   Drücken Sie die Eingabetaste, um alle 3 Eingabeaufforderungen anzuzeigen   hier automatisch platziert werden. Dann Sie   kann den Inhalt von id_rsa.pub hinzufügen   meine GitHub-Tasten. Wenn id_rsa.pub nicht   Arbeit versuchen Sie id_dsa..pub. Möglicherweise müssen Sie das tun   Erzeugen Sie einen neuen DSA-Schlüssel mit ssh-keygen   -t DSA, wenn Sie nur einen RSA-Schlüssel haben.

     

Wenn Sie immer noch Probleme haben und   keiner der oben genannten funktioniert, haben Sie vielleicht   ein Blacklist-Schlüssel von einem Debian   Open-SSH-Fehler. Sie sollten aktualisieren   Open-SSH und generieren Sie Ihre Schlüssel neu.

Also, nur um zu überprüfen - sind Ihre Schlüssel unter ~ / .ssh / als id_rsa und id_rsa.pub oder anders, geben Sie ihre Verwendung an?

    
user257111 30.03.2010, 14:39
quelle
45

Ich fand das, was mir sehr geholfen hat Ссылка

ssh-add ~/.ssh/id_rsa löste mein Problem nach dem Erzeugen der relevanten Schlüssel

    
jamesc 13.11.2011 03:52
quelle
12

Nachdem ich die ssh-Schlüssel erzeugt habe, habe ich den Befehl ausgeführt, wie er von jamesw vorgeschlagen wurde.

%Vor%

Ich habe mein Passwort eingegeben. Dann wurde versucht, das Heroku-Repository zu klonen. Diesmal hat es gut geklappt.

    
Samundra 26.08.2012 19:51
quelle
6

Dies ist ein Ubuntu-Problem. Exportieren von "SSH_AUTH_SOCK = 0" löste das Problem für mich. Weitere Details finden Sie unter - Ссылка .

    
prasadvk 20.05.2011 17:31
quelle
2

Dank dieses Threads konnte ich Gitlab zum Laufen bringen (ich weiß, das ist kein Github).

Ich fand auch die Antwort von @jamesw als richtig.

Ich musste meine known_hosts -Datei löschen und meinen ssh-Schlüssel mit dem gleichen Passwort wie meinen gitlab-Account neu erstellen.

Dann habe ich das ssh-add gemacht und ein git push -u origin master . Erfolg!

Danke für die Hilfe alle.

UPDATE:
Ich beschloss, meinen ssh-Schlüssel ohne ein Kennwort neu zu erstellen und diesen Fehler erneut zu finden.

Diesmal konnte ich meine alte known_hosts in die neue .ssh/ kopieren und einfach die ssh-add ausführen.

    
clayzermk1 07.09.2012 18:09
quelle
1

Oben Akzeptierte Lösung funktionierte nicht für mich, aber das funktionierte Ссылка

    
ankitk 08.05.2012 05:14
quelle
1

Dieses Problem tritt hauptsächlich aus folgenden Gründen auf:

  • Das öffentliche und private Schlüsselpaar ist falsch. Sie müssen den öffentlichen Schlüssel des Schlüssels auf dem Server / Ihrem Git-Konto verifizieren, auf dem Sie den öffentlichen Schlüssel abgelegt haben. Selbst ein kleiner Bereich oder Tab wird zu dem Fehler führen.
  • Wenn Sie sicher sind, dass Ihr öffentlicher Schlüssel korrekt ist, überprüfen Sie das Format des öffentlichen Schlüssels in Ihrem ~ / .ssh-Ordner auf Ihrem Computer. Für openssh können Sie keinen öffentlichen Schlüssel im Puttygen-Format und umgekehrt verwenden. Um das Format zu ändern, können Sie den folgenden Befehl mit Ihrem privaten Schlüssel verwenden

    $ ssh-keygen -e -f ~ / .ssh / id_rsa & gt; ~ / .ssh / id_rsa_com.pub
    $ ssh-keygen -i -f ~ / .ssh / id_rsa_com.pub & gt; ~ / .ssh / id_rsa.pub

  • Überprüfen Sie abschließend, ob Sie Ihre Schlüssel dem ssh-Client in Ihrem System hinzugefügt haben. Sie können dies mit den folgenden Befehlen tun

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

    $ ssh-add

kirancodify 11.06.2015 08:00
quelle
0

Beachten Sie, dass ssh-agent pro Sitzung (pro Terminal) gilt. Verwenden Sie den ssh-Agenten-Manager wie keychain (Informationen dazu finden Sie in der Dokumentation zur Einrichtung), um Zugriff zu erhalten über jede Sitzung (von jedem Begriff).

    
Jakub Narębski 30.03.2010 20:48
quelle

Tags und Links