Когда вы используете ssh для подключения к GitHub, единственное имя пользователя , которое видит GitHub, это git
:
ssh -T git@...
Так что GitHub нужно каким-то образомчтобы выяснить, кто вы.
То, как они используют, - это посмотреть на ключ , который вы предоставляете .Вы предоставили ключ от:
identity file /Users/named/.ssh/id_rsa_personal
У них есть гигантский стол с ключами и именами пользователей.Они просматривают свою таблицу ключей и находят тот, который соответствует ключу, который вы только что отправили, и он говорит: Этот ключ предназначен для пользователя user2
.
Так вот, как GitHub знает, что выuser2
: их таблица говорит об этом.
Чтобы обновить таблицу, используйте их веб-интерфейс.Скажите им: Вы знаете меня как пользователя X (вот мои учетные данные, чтобы доказать это).Теперь мой новый ключ, который вы никогда не видели, это Y .Они добавят запись Y = X в свою гигантскую таблицу каждого пользователя во вселенной.В следующий раз, когда кто-то заявит, что он пользователь git
и предоставит ключ Y , они узнают, что этот человек действительно пользователь X .
Очевидно, что ключ, который вы предоставляете сейчас, тот же, который user2
дал им некоторое время назад и который они сохранили в своей гигантской таблице.(Сохраняют ли они как user2
, так и вас, я понятия не имею, но их поиск находит только user2
, пока user2
не удалит этот ключ. Если user2
удалит его ключ, и они внезапноначните искать вас, это говорит нам о том, что в их гигантской таблице действительно есть обе записи сейчас - интересное доказательство, возможно, полезное в каком-то будущем векторе атаки GitHub, но не очень полезное для чего-либо немедленного.)
(Если вы используете https для подключения к GitHub, все это вообще не применимо - все это относится только к ssh.)