Herausfinden, wo der Schlüssel verwendet wurde
Um herauszufinden, wo der Schlüssel bereits verwendet wurde, öffne ein Terminal und gib den Befehl ssh
ein. Mit dem Flag -i
gibst Du den Pfad zu dem Schlüssel ein, den Du überprüfen möchtest:
$ ssh -T -ai ~/.ssh/id_rsa git@Hostname
# Stellt mit einem bestimmten SSH-Key eine Verbindung mit your GitHub Enterprise Server instance her
> Hi username! You've successfully authenticated, but GitHub does not
> provide shell access.
Der username (Benutzername) in der Antwort ist das GitHub Enterprise Server-Konto, an das der Schlüssel derzeit angehängt ist. Wenn die Antwort ähnlich wie „username/repo“ aussieht, wurde der Schlüssel als Deployment-Schlüssel an ein Repository angehängt.
To force SSH to use only the key provided on the command line, use -o
to add the IdentitiesOnly=yes
option:
$ ssh -v -o "IdentitiesOnly=yes" -i ~/.ssh/id_rsa git@Hostname
Das Problem beheben
Um das Problem zu beheben, entferne den Schüssel zunächst von dem anderen Konto respektive Repository und füge ihn dann zu Deinem Konto hinzu.
Wenn Du keine Berechtigungen für die Übertragung des Schlüssels hast und keinen Benutzer mit diesen Berechtigungen kontaktieren kannst, entferne das Schlüsselpaar und erstelle ein komplett neues.
Deployment-Schlüssel
Sobald ein Schlüssel als Deployment-Schlüssel an ein Repository angehängt wurde, kann er nicht für andere Repositorys verwendet werden. If you're running into this error while setting up deploy keys, see "Managing deploy keys."