Github erlaubt das Hinterlegen von Deploy Keys, um sich die Eingabe von Username und Password zu ersparen. Allerdings müssen die Keys unique sein. Ein Key, der zB an den User gebunden ist (~/.ssh/id_rsa.pub) kann nicht auch noch Deploy Key für ein Repository sein.
Das kann man umgehen, indem man einen Key mit einer Fake-Domain für Github anlegt (simple-budget.github.com). In der ~/.ssh/config wird dann der Fake-Host wieder dem korrekten Host (github.com) zugeordnet.
Szenario:
Wir haben als User „medianetix“ ein Github-Repo „simple-budget“ unter „github.com/medianetix/simple-budget“.
Zu diesem wollen wir jetzt einen (neuen) Deploy-Key anlegen.
Zuerst wird der remote angezeigt:
git remote -v
Damit wird der origin für fetch und pull angezeigt.
Danach ändern wir den remote origin, was einfacher ist, als ihn zu löschen und neu anzulegen.
(hier: simple-budget.github.com für das Repo github.com/medianetix/simple-budget):
git remote set-url origin git@simple-budget.github.com:medianetix/simple-budget.git git remote -v