У меня есть две учетные записи github, и я пытаюсь настроить github, мою среду и ключи ssh, чтобы я мог нажать на любой репо, находится ли он в my github.com/user1 или github.com/user2. Я потратил часы, пытаясь получить это право, следуя всем ресурсам, которые я могу найти, увы, мне кажется, что у меня нет понимания, чтобы разобраться. Может ли кто-нибудь помочь мне правильно настроить это?Git ОШИБКА: Разрешение пользователю1/repoA.git отрицается пользователем2
Каждая из моих двух учетных записей на github.com настроена с разными адресами электронной почты; github.com/user1 = '[email protected]
и github.com/user2 = [email protected]
.
Я два сгенерированные ключи протокола SSH первый в .ssh/id_rsa
& .ssh/id_rsa.pub
и этот ключ SSH сохраняется в github.com/user1
. Второй SSH-ключ в .ssh/user2
.ssh/user2_rsa and saved in
github.com/user1`.
У меня есть .ssh/config file
, который содержит:
Host user1.github.com
HostName github.com
IdentityFile ~/.ssh/user1
Host user2.github.com
HostName github.com
IdentityFile ~/.ssh/id_rsa
Когда я бегу ssh-add -l
я вижу обе клавиши 'загружены'.
Когда я бегу ssh -T [email protected]
я получаю Hi user2! You've successfully authenticated, but GitHub does not provide shell access.
Когда я бегу ssh -T [email protected]
я получаю Hi user2! You've successfully authenticated, but GitHub does not provide shell access.
Я могу успешно нажать на репо в «github.com/user2».
Я не могу нажать на репо в 'github.com/user1', с сообщением об ошибке ниже;
ERROR: Permission to user1/repo.git denied to user2.
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
Мой файл `.gitconfig» содержит:
[user]
name = my full name
email = [email protected]
[GitHub]
user = user1
Из того, что я могу видеть это, кажется, что моя локальная среда, CMD, имеет меня застрял в user2 и не позволит user2 совершить в пользователь1 github счет. Но а) я думал, что сценарий в .ssh/config
должен признать, что когда я нажимаю на user1, он должен использовать user1 ssh и наоборот, но это, похоже, не происходит, и b) у моего .gitcofig
есть мои user.email
и мой пользователь GitHub как user1, который конфликтует с моей аутентификацией как user2 после запуска ssh -T ...
.
Я пробовал так много вещей, что мои трусики сейчас правильные. Может ли кто-нибудь помочь мне правильно настроиться на это, а также объяснить, как я могу стереть все SSH и начать все заново и правильно настроить (обратите внимание, что у меня также настроена учетная запись Heroku, которая должна быть настроена).
Заранее спасибо.
Спасибо VonC, оценено. Я был в правильном беспорядке, поэтому я просто решил удалить все ключи и начать все заново, и теперь все работает нормально. Я удалю этот Q, поскольку я не уверен, что он будет конструктивным для других. – jbk
@jbk Нет, вы можете оставить вопрос, поскольку он иллюстрирует работу ssh/config. – VonC
У меня такая же проблема, но в Windows. Совет, как с этим иметь дело, было бы очень полезно –