Github多个帐户 - 对globalUserName

时间:2018-03-17 10:53:41

标签: git github ssh ssh-keys

更新5/14/2018 我更新了我的操作系统,不得不重新启动我的机器,所以这显然搞砸了我对这个问题的修复,这似乎是暂时的。要暂时解决此问题,我必须执行以下操作:

  1. eval "$(ssh-agent -s)"
  2. ssh-add ~/.ssh/your-ssh-key
  3. 输入ssh key passsphrase
  4. 运行您想要的任何git命令
  5. 我需要考虑将其永久化。这肯定与我在我的.ssh / config文件中评论Host *部分有关,所以我需要弄清楚如何为某些主机而不是所有主机使用钥匙串,因为所有主机都不能用于我的设置。

    更新5/2/2018:

    如果有人遇到此问题,我会使用ssh -vT git@github.com的输出来查找从中获取配置的位置,这导致我做了一些事情来解决我的问题:

    1. 从我的根文件夹name中找到的.gitconfig中删除了~
    2. 如上所示,我的.ssh/config文件中有Host *部分,我注释掉了
    3. 确认我为正在处理的特定仓库设置了git config user.namegit config user.email
    4. 确认我的远程仓库设置正确,例如git remote set-url origin git@github-newkeyname:repo_git_target
    5. 感谢。

      我有一个工作和个人GitHub帐户,最近想在我的个人帐户上工作。但是,我一直收到一条错误消息

      Permission to personalUserName/repoName.git denied to globalUserName

      我查了解如何使用多个GitHub帐户并找到了本教程 - https://code.tutsplus.com/tutorials/quick-tip-how-to-work-with-github-and-multiple-accounts--net-22574

      我按照所有说明操作,最后使用新密钥添加了遥控器,如教程中所述,例如

      git remote add origin git@github-newkeyname:username/repoName.git

      当我尝试从我的本地项目推送到我的个人GitHub仓库时,我收到以下错误:

      ERROR: Permission to localUserName/repoName.git denied to globalUserName.
      fatal: Could not read from remote repository.
      
      Please make sure you have the correct access rights
      and the repository exists.
      

      我注意到的一件事是localUserName/repoName.git包含我在git config user.name添加的本地用户名,错误显示用户添加的用户名(很久以前)被拒绝了{ {1}}。

      我不确定该问题是与SSH密钥还是与git配置相关,还是两者兼而有之。有没有人有任何建议?

      当我测试与git config --global user.namessh -vT git@github-newkeyname的SSH连接时,我看到使用相同的用户名进行身份验证,在这种情况下,我称之为globalUserName,即

      ssh -vT git@github

      这是我的SSH配置文件在相关位置的样子:

      debug1: client_input_channel_req: channel 0 rtype exit-status reply 0
      Hi globalUserName! You've successfully authenticated, but GitHub does not provide shell access.
      

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题 - 在更改我的本地存储库的配置后,提交/推送仍在注册到我的 用户,该用户没有存储库访问权限(存储库是由我的用户身份)。

问题不在于我的旧(“全局”)用户仍然被分配到提交 - 相反,该用户仍然连接到提交(在更新我的 ./git/config 之前,我的 SSH 设置不正确。

我通过以下方式解决了这个问题:

  1. (假设这已经完成,但是:)在 user 内设置特定于存储库的 email./git/config
  2. 确保我的 ssh 密钥对这个新的 github 身份有效,ssh-add -K ~/.ssh/id_rsa_newkeyname
  3. 重新启动我的计算机(可能完全是多余的,但以防万一)
  4. 将我的暂存更改推送到存储库(这些更改与我的 global-user 相关联,因为我在更改我的 ./git/config 用户设置之前做出了这些更改,但正确添加了我的另一个 ssh 密钥允许继续推送
  5. 完成后,照常进行暂存和提交 - 所有这些都将分配给新的 github 身份 :party: