J'ai configuré deux comptes GitHub, mais je n'arrive pas à faire fonctionner correctement les clés ssh. J'ai essayé différentes configurations.
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
Fonctionne pour username1:
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
au repo de username2:
ERROR: Permission to username2/repo.git denied to username1.
fatal: The remote end hung up unexpectedly
J'ai également essayé les git push
deux IdentityFile
et les User
paramètres sous le même Host
. La sortie est la même qu'avec la dernière configuration.
Je pense que git recherche automatiquement l'hôte "github.com" car la télécommande est telle. On dit que l'hôte peut être tout ce que vous voulez ( /programming//a/3828682 ). Existe-t-il un moyen de modifier l'hôte de la configuration ssh si un dépôt spécifique est utilisé?
Ce serait idéal si je pouvais résoudre ce problème uniquement à partir de ~ / .ssh / config.
IdentitiesOnly=yes
sur chaquehost
section pour vous assurer que ssh ne choisira que le fichier d'identité choisi et ne par défaut / n'essaiera rien d'autre.