Configurei duas contas do GitHub, mas não consigo que as chaves ssh funcionem corretamente. Eu tentei várias configurações.
Host github_username1
HostName github.com
IdentityFile ~/.ssh/rsa_1
User username1
Host github_username2
HostName github.com
IdentityFile ~/.ssh/rsa_2
User username2
git push
:
Permission denied (publickey).
fatal: The remote end hung up unexpectedly
Funciona para o nome de usuário1:
Host github.com
HostName github.com
IdentityFile ~/.ssh/rsa_1
User username1
Host github.com
HostName github.com
IdentityFile ~/.ssh/rsa_2
User username2
git push
no repo de username2:
ERROR: Permission to username2/repo.git denied to username1.
fatal: The remote end hung up unexpectedly
Eu também tentei git push
com ambos IdentityFile
e User
configurações sob o mesmo Host
. A saída é a mesma da última configuração.
Acho que o git pesquisa automaticamente o Host "github.com" porque o controle remoto é tal. Dizem que o host pode ser o que você quiser ( /programming//a/3828682 ). Existe alguma maneira de alterar qual host da configuração ssh deve usar o repositório específico?
Seria ideal se eu pudesse resolver isso apenas em ~ / .ssh / config.
IdentitiesOnly=yes
em cadahost
seção para se certificar de ssh só vai escolher o arquivo de identidade escolhida e não padrão / tentar qualquer outra coisa ..