None of these solutions worked for me.
Instead, I elaborate on @Martin v. Löwis 's mention of setting a
config file for SSH.
SSH will look for the user's
~/.ssh/config file. I have mine setup as:
Host gitserv Hostname remote.server.com IdentityFile ~/.ssh/id_rsa.github IdentitiesOnly yes # see NOTES below
And I add a remote git repository:
git remote add origin git@gitserv:myrepo.git
And then git commands work normally for me.
git push -v origin master
IdentitiesOnly yesis required to prevent the SSH default behavior of sending the identity file matching the default filename for each protocol. If you have a file named
~/.ssh/id_rsathat will get tried BEFORE your
~/.ssh/id_rsa.githubwithout this option.