当我运行此命令时,我已经在这台名为myaccount的计算机上使用guthub与之前的github帐户进行了设置
ssh -T git@github.com
Hi myaccount! You've successfully authenticated, but GitHub does not provide shell access.
好的,但我现在已经设置了一个名为samaccount的新github帐户,但我无法运行此命令,我收到此错误。
git push -u origin master
我收到此错误
ERROR: Permission to samueleast/Samuel-East-S3-Audio-Playlist-Player.git denied to myaccount.
我不希望它使用myaccount它应该使用samaccount !!!
我已按照此处的所有步骤http://help.github.com/mac-set-up-git/ 设置全新的ssh密钥。
并多次运行此命令
git config --global user.name "samaccount"
但它仍然使用myaccount它太烦人在哪里我出错了???
答案 0 :(得分:12)
GitHub将您识别为myaccount
,因为SSH使用的密钥对应于已添加到GitHub网站上myaccount
帐户的公钥。
如果您想完全切换为使用sameueleast
帐户而非myaccount
帐户,则可以执行以下操作:
myaccount
samueleast
id_rsa.pub
或id_dsa.pub
并位于您的.ssh
目录中。另一方面,如果您希望在推送到GitHub时能够使用myaccount
或samueleast
,则需要在git@github.com
中为~/.ssh/config
创建别名},例如:
Host github-myaccount
User git
Hostname github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_dsa-myaccount.pub
Host github-samueleast
User git
Hostname github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_dsa-samueleast.pub
假设您已生成第二个SSH密钥对,并为其指定了上述名称。然后,您需要确保在git遥控器的URL中使用了适当的别名。例如,如果您想要更改origin
遥控器,以便推送到原点意味着"推送到原点作为samueleast",您可以这样做:
git remote set-url origin \
git@github-samueleast:samueleast/Samuel-East-S3-Audio-Playlist-Player.git