Я створив два облікові записи 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 вибере лише вибраний файл ідентифікації та не