Um zu ermitteln, wo der Schlüssel bereits verwendet wurde, öffne ein Terminal, und gib den Befehl ssh
ein. Verwende das Flag -i
, um den Pfad zu dem Schlüssel anzugeben, den du überprüfen möchtest:
$ ssh -T -ai ~/.ssh/id_rsa git@HOSTNAME
# Connect to Ihre Enterprise Server-Instance using a specific ssh key
> Hi USERNAME! You've successfully authenticated, but does not
> provide shell access.
Der Benutzername in der Antwort ist das Konto für Ihre Enterprise Server-Instance, an das der Schlüssel derzeit angefügt ist. Wenn die Antwort eine Zeichenfolge wie „username/repo“ enthält, wurde der Schlüssel als Bereitstellungsschlüssel an ein Repository angefügt.
Um zu erzwingen, dass SSH nur den in der Befehlszeile angegebenen Schlüssel verwendet, verwende -o
zum Hinzufügen der Option IdentitiesOnly=yes
:
ssh -v -o "IdentitiesOnly=yes" -i ~/.ssh/id_rsa git@HOSTNAME
Um das Problem zu beheben, entferne zuerst den Schlüssel aus dem anderen Konto oder Repository, und füge ihn dann deinem Konto hinzu.
Wenn du keine Berechtigung zum Übertragen des Schlüssels besitzt und dich nicht an einen Benutzer wenden kannst, der über diese Berechtigung verfügt, entferne das Schlüsselpaar, und generiere einen vollständig neuen 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. Wenn dieser Fehler beim Einrichten von Bereitstellungsschlüsseln auftritt, findest du entsprechende Informationen unter Verwalten von Bereitstellungsschlüsseln.