代码之家  ›  专栏  ›  技术社区  ›  Dean Hiller

在MAC Monterey上,git克隆工作,但git推送失败,因为它在推送上使用了错误的ssh密钥?

  •  0
  • Dean Hiller  · 技术社区  · 3 年前

    我的~/.ssh/config有这个条目

    Host personal
       HostName github.com
       IdentityFile ~/.ssh/id_ed25519personalgithub
       IdentitiesOnly yes
    

    我用git克隆

    git clone git@personal:deanhiller/testwithexecutor-all.git
    

    这很好。我的.git/config文件是这样正确的

    [remote "origin"]
        url = git@personal:deanhiller/testwithexecutor-all.git
        fetch = +refs/heads/*:refs/remotes/origin/*
    

    然而,当我用git-push时,我会得到这个错误

    dean@Deans-MacBook-Pro testwithexecutor-all % git push
    ERROR: Permission to deanhiller/testwithexecutor-all.git denied to deancompanyuser
    

    它使用了错误的用户名,而不是用户名deanhiller!!!为什么会这样?

    如果我做git-config-l,我就没有用户名集(这是我想要的,这样我就可以很容易地在存储库中工作,而不需要很容易地进行克隆和推送)。我不想每次克隆repo时都不断更改用户名或设置用户名。它是从哪里抓来的???

    1 回复  |  直到 3 年前
        1
  •  1
  •   VonC    3 年前

    首先,在配置文件中添加User git:

    Host personal
       HostName github.com
       User git                                     <=====
       IdentityFile ~/.ssh/id_ed25519personalgithub
       IdentitiesOnly yes
    

    这样,您就可以使用 personal:... 而不是 git@personal
    您可以使用 ssh -Tv personal (而不是 ssh -Tv git@personal )

    第二 id_ed25519personalgithub.pub 已注册到 deancompanyuser 的帐户,而不是 deanhiller 的。
    因此 公司董事 无权推送到他们不拥有的存储库。

    但它可以克隆deanhiller的存储库,如果该存储库是公共存储库的话。

        2
  •  0
  •   SwissCodeMen dgzornoza    3 年前

    用户 deancompanyuser 很可能保存在您的 钥匙串访问 。因此,打开Mac上的Keychain Access,搜索“GitHub”并删除该条目。之后,它不应该再显示 错误的 使用者