Я надеюсь, что это поможет вам:
У меня был идентичные проблемы и о том, чтобы принять мои собственные глаза с безумной фрустрацией; ничто в сети не привело меня к ответу, и я пытался использовать команду git push
без указания URL-адреса (что также могло бы решить проблему, я полагаю), поэтому я не видел, как произошло соединение.
Я создал мой .ssh/config
правильно для двух пользователей с двумя разными ключами, даже с использованием IdentitiesOnly yes
, который предполагается переопределить ssh-agent
, автоматически подающий идентификатор SSH НЕПРАВИЛЬНО.
я, наконец, понял, что проблема, как я изучил местную конфигурацию хранилища - это была запись
[remote "origin"]
url = [email protected]:{my-username}/{my-repo-name}.git
Моя конфигурация в .ssh/config
файл использует тот же HostName github.com
запись для пользователей, так и я совершенно новой для всех так что я не понял, что для правильного переопределения ssh-agent
мне нужно было указать точный URL-адрес, иначе конкретные идентификаторы в моем файле .ssh/config
были бы проигнорированы, и первый ключ, который был указан ssy-agent
(это был не тот мой мой случай) используется по умолчанию.
Я установил это, изменив локальный адрес репо на url = [email protected]:{my-username}/{my-repo-name}.git
, где я установил Host github-personal
как личность в своем .ssh/config
.
Другой способ решения этой проблемы было бы указать пользователя в URL в команде git push
себя, или даже лучше, решение, описанное здесь в должности после решения этого мой собственный дерьмовый путь:
https://superuser.com/questions/272465/using-multiple-ssh-public-keys
Я не могу поверить, что ни один официальный источник не мог предложить решение или даже правильно объяснить этот крайний случай, который кажется действительно распространенным (доступ к двум различным учетным записям github с одной машины с SSL).
Вы проверяете разрешение двух файлов в папке .ssh? У них должно быть 600 разрешений? Как вы генерируете ключи? –