Я настроил две учетные записи GitHub, но не могу заставить ssh-ключи работать правильно. Я пробовал разные конфиги.
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
Работает для 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
в репозитории username2:
ERROR: Permission to username2/repo.git denied to username1.
fatal: The remote end hung up unexpectedly
Я также попробовал git push
с обоими IdentityFile
и User
настройками под тем же самым Host
. Вывод такой же, как с последним конфигом.
Я думаю, что git автоматически ищет хост "github.com", потому что удаленный такой. Говорят, что Хост может быть чем угодно ( /programming//a/3828682 ). Есть ли способ изменить, какой хост из конфига ssh должен использовать конкретное хранилище?
Было бы идеально, если бы я мог решить эту проблему только из ~ / .ssh / config.
IdentitiesOnly=yes
в каждыйhost
раздел, чтобы убедиться, что ssh выберет только выбранный файл идентификации и не будет использовать по умолчанию / что-либо еще.