GitHub lets you attach a deploy key to one repository only. The problem is when you want to access multiple repositories with tools like capistrano or, as is our case, webistrano which executes
git ls-remote locally before ssh'ing to a remote server and doing git clone there.
Here's the trick to make the tool always use the correct key.
Alias github.com host in your
~/.ssh/config and assign a identity key to it.
Host aliased-github HostName github.com IdentityFile ~/.ssh/my_deploy_key
Now the tool should be configured to deploy from