2014-01-16 13 views
10

Ich habe zwei GitHub-Konten erstellt. Eine für meine Arbeit Benutzer und eine für mein persönliches Selbst. Ich musste etwas Arbeit nachholen und klonte so mein Arbeits-Repo auf meinen PC. Um einfachen "git push origin master" zu machen, commits ohne meinen Benutzernamen und mein Passwort die ganze Zeit einzugeben, möchte ich einfach meinen öffentlichen Schlüssel von meinem Heim-PC zum Arbeits-Repo hinzufügen. Jedoch Github diesen Fehler gibt:GitHub Fehler: Schlüssel bereits verwendet

Error: Key already use 

Nach einem bisschen Googeln ich auf diesen link kam, die besagt, „das Problem zu beheben, entfernen Sie den Schlüssel aus dem anderen Konto oder Repository und fügen Sie es zu Ihrem Konto“ Natürlich gibt ist ein doppelter Schlüssel, da ich meinen privaten Schlüssel zu github hinzugefügt habe, damit ich meine eigenen Projekte programmieren kann. Schließlich möchte ich in der Lage sein, zu meiner Arbeit Repo mit meinem PC und PC zu arbeiten.

Wie können Sie mehrere "gleiche" öffentliche Schlüssel hinzufügen, ohne dass Github diesen Fehler verursacht und warum auch in der Welt, wird dieser Fehler an erster Stelle geworfen?

+1

Warum brauchen Sie die gleichen Schlüssel? Erstellen Sie einfach einen neuen Schlüssel und verbinden Sie ihn mit Ihrem Konto. – PeeHaa

+0

erstellen Sie einfach ein anderes Schlüsselpaar, und behalten Sie es lokal, und öffentlicher Teil des zweiten Paares in github anderen Konto –

+2

GitHub wird den Schlüssel als Mittel verwenden, um Sie zu identifizieren, wenn Sie mit ihnen über SSH verbinden. Daher können Sie nicht mehrere Konten mit demselben Schlüssel haben, da GitHub dann nicht erkennen kann, welches Ihrer Konten Sie verwenden möchten. – poke

Antwort

13

Sie können einen weiteren Schlüssel erstellen, sagen Sie id_rsa_personal.pub und fügen Sie es dem Github-Konto hinzu. Um auf beide github-Konten desselben PCs zuzugreifen, bearbeiten Sie die Datei .ssh/config.

# Default GitHub 
    Host github.com 
     HostName github.com 
     User git 
     IdentityFile ~/.ssh/id_rsa 

    Host github-public 
     HostName github.com 
     User git 
     IdentityFile ~/.ssh/id_rsa_public 

    Host github-personal 
     HostName github.com 
     User git 
     IdentityFile ~/.ssh/id_rsa_personal 

Die obige Datei wird Ihnen parallel zu zwei GitHub-Konten helfen. Auch kann u siehe Multiple ssh keys

James Ferguson diese wichtige Information hinzugefügt:

... you [may] need to alter your .git/config remote url to point to [email protected]/<reponame>.git etc., rather than the usual [email protected]/<reponame>.git

+0

Das schien nicht zu funktionieren. Ich bekomme immer noch die Erlaubnis verweigert. So sieht meine ~/.ssh/config-Datei aus: http://pastebin.com/JNiTUbVU –

+0

Und haben Sie '~/.ssh/id_rsa.pub' für Firmenbenutzer und' ~/.ssh/John hinzugefügt .pub' für dich selbst? Der richtige Ansatz besteht jedoch nicht darin, den spezifischen Benutzer für die Firma, sondern für die Organisation zu erstellen. –

+0

Funktioniert gut auf meiner Seite. Vielen Dank! – D6mi

5

Dumme System nicht mir auf die andere Antwort äußert sich lassen, weil ich nicht genug Ruf haben, aber John sagte, dass Es hat nicht für ihn funktioniert.

Vielleicht ist der Schritt Ihnen fehlt ist, dass Sie Ihre .git/config Remote-URL ändern, müssen [email protected]/<reponame>.git etc zeigen .. anstatt der üblichen [email protected]/<reponame>.git

0

Sie den gleichen SSH-Schlüssel für verschiedenen GitHub Repositories verwenden können, aber den gleichen SSH-Schlüssel für viele Repositories nicht verwenden können (dh gleiche Repository aus verschiedenen Logins oder gegabelt) wie github wird nicht zulassen, gleiche deploy Schlüssel mehr als einmal für ein Endlager

Sie Ihre vorhandenen Schlüssel wie ohne Störung einen anderen Schlüssel in Ihrer Maschine erstellen: ssh-keygen -t rsa -C "[email protected]"
Jetzt geben Sie Ihre Dateinamen Ihren Schlüssel für das Repository zu identifizieren

Enter file in which to save the key (/home/demo/.ssh/id_rsa):/home/demo/.ssh/id_rsa_mykey<br> 

Weitere Informationen finden Sie unter https://developer.github.com/guides/managing-deploy-keys/#deploy-keys.

Verwandte Themen