для моей рабочей учетной записи, у меня не может быть Host github.com, потому что он уже используется в моей личной учетной записи, верно? Так что для разграничения мне нужно было сделать Host work.github.com? почему?
При подключении к Github через s sh все используют одного и того же пользователя, git
. Пользователи идентифицируются по их ключу s sh. Если у вас есть несколько учетных записей Github, для каждой учетной записи требуется отдельный ключ s sh.
Обратите внимание, что для Github Organizations нет технической причины иметь отдельные личные и рабочие учетные записи.
почему я все еще могу S SH, если я изменю sh URL репозитория GitHub, добавив work.github.com
You ' мы настроили S SH на использование другого ключа в зависимости от того, с каким хостом вы запрашиваете для подключения, но s sh все равно будет подключаться к github.com. Это небольшая хитрость. S SH настраивается для каждого хоста, поэтому вы создали хост work.github.com
.
Когда вы говорите, что хотите подключиться к github.com
, вы настроили s sh для подключения к github.com
и используйте свой ключ в ~/.ssh/id_rsa
.
Когда вы говорите, что хотите подключиться к work.github.com
, вы настроили s sh для фактического подключения к github.com
, это то, что делает HostName github.com
, и используйте ваш рабочий ключ ~/.ssh/id_rsa_work
.
Так что git@work.github.com:work-company-projects/work-repo.git
действительно подключается к github.com.
# tell ssh about work.github.com
Host work.github.com
# When you ask to connect to work.github.com, connect to github.com instead.
HostName github.com
# connect as the git user
User git
# add your key to the ssh-agent so yodon't have to keep retyping your password
AddKeysToAgent yes
# Get your ssh key password from your OS's keychain.
UseKeychain yes
# Use your work key
IdentityFile ~/.ssh/id_rsa_work