{{tag>git ssh}}
====== git pull via ssh public key ======
If using for example 'myuser' user but with a custom ssh key name i.e. myuser_github and not id_rsa you will get an error if trying to run the following command:
myuser@host:~/my-user$ git clone git@github.com:someuser/repo.git .
Cloning into '.'...
Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
==== Fix this by editing .ssh/config to this: ====
Host github.com
HostName github.com
User git
IdentityFile ~/.ssh/myuser_github
==== Use different host ====
You can use a custom hostname as well, e.g.
Host github-someorg
HostName github.com
IdentityFile ~/.ssh/myuser_github
When using Vim vim-fugitive plugin, the GBrowse command can only work with above if it is set in ~/.ssh/config file, not in ~/.ssh/ssh_config.d directory.
Then to clone use that host
git clone git@github-someorg:someuser/repo.git
SSH will try all of the keys it sees, so the ones provided by any running ssh-agent and the file specified above in IdentityFile. This might not be what you want, because if the ssh key from the ssh-agent is used by your different github user for different repos.
To explicitly use only the key in IdentityFile also add ''IdentititesOnly yes'' to the configuration.
====== Tested on ======
*
====== See also ======
* [[wiki:clone_remote_ansible_git_module_using_ssh_key|Clone remote repository with ansible git module using ssh key]]
====== References ======
* https://serverfault.com/a/515214