O cliente OpenSSH usa apenas a linha Host
como o identificador de seção e tudo o resto são configurações. Se você se conectar a [email protected]
, o SSH não pesquisará " User foo
"; ele só irá procurar por " Host bar.com
".
Em outras palavras: se você tiver " Host github_username2
" em sua configuração de SSH, deverá usar o mesmo host nos seus controles remotos do Git - github_username2
, não [email protected]
.
No entanto, não é isso que causa falhas de autenticação. No caso de github.com
, o nome de usuário do SSH deve ser " git
" . Os servidores SSH do GitHub identificam os usuários apenas por sua chave SSH.
Uma configuração correta do SSH seria:
Host github_username1
Hostname github.com
User git
IdentityFile ~/.ssh/rsa_1
Host github_username2
Hostname github.com
User git
IdentityFile ~/.ssh/rsa_2
Configuração do Git:
[remote "origin"]
url = git@github_username1:username2/repo.git
Nota: Embora eu tenha especificado o git
nome de usuário em ambos os lugares no meu exemplo, ele só precisa ser especificado uma vez - git@
no Git URL terá prioridade sobre User git
na configuração SSH.