Github用户名错误

6

我在这台电脑上使用了一个名为myaccount的先前的Github账户来设置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.

我不希望它使用我的账户,它应该使用samaccount!!!
我已经按照这里的所有步骤http://help.github.com/mac-set-up-git/设置了全新的ssh密钥。
并且多次运行了此命令。
git config --global user.name "samaccount"

但它仍然使用我的帐户,这太烦人了,我错在哪里了?

你在同一台电脑上设置了两个GitHub账户吗?你上传了相同的密钥吗?我的意思是id_rsa.pub - Ya Zhuang
1个回答

15

GitHub之所以将你识别为myaccount,是因为SSH使用与已添加到GitHub网站上myaccount账户的公钥相对应的密钥。

如果你想完全切换到使用 samueleast 帐户而不是 myaccount ,请执行以下操作:

  • 登录 myaccount ,进入GitHub网站。
  • 进入“帐户设置”。
  • 进入“SSH公钥”。
  • 从列表中删除您的公钥。
  • 退出登录。
  • 登录 samueleast ,进入GitHub网站。
  • 进入“帐户设置” -> “SSH公钥”。
  • 选择“添加另一个公钥”,并粘贴您的公钥内容。 您的公钥(可能)称为 id_rsa.pub id_dsa.pub ,并位于 .ssh 目录中。

另一方面,如果您想在推送到GitHub时能够使用 myaccount samueleast ,则需要在〜/ .ssh / config 中为 git@github.com 创建别名。 例如:

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远程,以便将推送到origin意味着“作为samueleast推送到origin”,您可以执行以下操作:

 git remote set-url origin \
     git@github-samueleast:samueleast/Samuel-East-S3-Audio-Playlist-Player.git

IdentityFile应该是指私钥的路径,而不是公钥,对吗? - Spencer Kormos

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接