Я створив два облікові записи 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
Працює для імені користувача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 у репортажі ім'я користувача2:
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 config повинен використовувати конкретний репо?
Було б ідеально, якби я міг це вирішити просто з ~ / .ssh / config.
IdentitiesOnly=yesв коженhostрозділ, щоб переконатися, що ssh вибере лише вибраний файл ідентифікації та не