Skonfigurowałem dwa konta GitHub, ale nie mogę sprawić, aby klucze ssh działały poprawnie. Próbowałem różnych konfiguracji.
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
Działa dla nazwy użytkownika 1:
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
w repozytorium username2:
ERROR: Permission to username2/repo.git denied to username1.
fatal: The remote end hung up unexpectedly
Ja również próbowałem git push
zarówno IdentityFile
i User
ustawień pod same Host
. Dane wyjściowe są takie same jak w ostatniej konfiguracji.
Myślę, że git automatycznie szuka hosta „github.com”, ponieważ taki jest pilot. Mówi się, że Host może być czymkolwiek chcesz ( /programming//a/3828682 ). Czy jest jakiś sposób na zmianę hosta z konfiguracji ssh, którego powinno używać określone repozytorium?
Byłoby idealnie, gdybym mógł to rozwiązać tylko z ~ / .ssh / config.
IdentitiesOnly=yes
każdejhost
sekcji, aby upewnić się, że ssh wybierze tylko wybrany plik tożsamości i nie będzie domyślnie / spróbował niczego innego.