更新5/14/2018 我更新了我的操作系统,不得不重新启动我的机器,所以这显然搞砸了我对这个问题的修复,这似乎是暂时的。要暂时解决此问题,我必须执行以下操作:
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/your-ssh-key
我需要考虑将其永久化。这肯定与我在我的.ssh / config文件中评论Host *
部分有关,所以我需要弄清楚如何为某些主机而不是所有主机使用钥匙串,因为所有主机都不能用于我的设置。
更新5/2/2018:
如果有人遇到此问题,我会使用ssh -vT git@github.com
的输出来查找从中获取配置的位置,这导致我做了一些事情来解决我的问题:
name
中找到的.gitconfig
中删除了~
值.ssh/config
文件中有Host *
部分,我注释掉了git config user.name
和git config user.email
git remote set-url origin git@github-newkeyname:repo_git_target
感谢。
我有一个工作和个人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.name
和ssh -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.
答案 0 :(得分:0)
我遇到了同样的问题 - 在更改我的本地存储库的配置后,提交/推送仍在注册到我的 旧 用户,该用户没有存储库访问权限(存储库是由我的新用户身份)。
问题不在于我的旧(“全局”)用户仍然被分配到新提交 - 相反,该用户仍然连接到旧提交(在更新我的 ./git/config
之前,我的 SSH 设置不正确。
我通过以下方式解决了这个问题:
user
内设置特定于存储库的 email
和 ./git/config
ssh-add -K ~/.ssh/id_rsa_newkeyname
global-user
相关联,因为我在更改我的 ./git/config
用户设置之前做出了这些更改,但正确添加了我的另一个 ssh 密钥允许继续推送