%E2%80%9C.png)
Ich habe mich schon oft mit GitHub verbunden und weiß, wie man SSH-Schlüssel generiert und id_rsa.pub
in 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/config
Sie in der Datei für das Git-Projekt, das mit dem zweiten Benutzerkonto bei Github verknüpft ist, den richtigen Hostnamen verwenden github-client
und 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-daemon
unter Ubuntu 14.04 LTS.