【问题标题】:How to push to .git repository with an appropriate .ssh key?如何使用适当的 .ssh 密钥推送到 .git 存储库?
【发布时间】:2021-03-05 06:16:44
【问题描述】:

我的笔记本电脑上有两个 ssh 密钥:work.pub 用于工作(它附加到我的 GitHub 工作帐户)和 personal.pub(供个人使用和个人 GitHub 帐户)。我也在使用 macOS 11.0.1。

我有以下 .ssh/config:

Host *
   UseKeychain yes
   AddKeysToAgent yes
   IdentityFile ~/.ssh/personal
   IdentityFile ~/.ssh/work

我已将两个 ssh 密钥添加到 Keychain 中:

ssh-add -K ~/.ssh/work
ssh-add -K ~/.ssh/personal

不过,当我尝试推送到 GH 上的 personal repo 时,我得到的错误比 my_work_github_username 不允许推送(这里我希望我的个人 ssh 密钥优先)

失败后,我从 Keychain 中删除了所有身份并尝试再推送一次: ssh-add -D 它推送到个人.git,但带有work 身份(git commit 显示了我的work 头像和昵称,但我期待它显示我的personal pic 和昵称)

做错了什么?如何在一个系统上使用多个密钥?

谢谢!

【问题讨论】:

    标签: macos github ssh rsa


    【解决方案1】:

    从 git 2.10 开始,你可以设置一个新的配置变量core.sshCommand。这指定了GIT_SSH_COMMAND 使用每个存储库的值。

    How to specify the private SSH-key to use when executing shell command on Git?

    【讨论】:

    • 看起来不错!服务器 ssh 身份验证呢?在这种情况下我应该如何管理 ssh 密钥?
    • 对于 ssh,使用 -i 选项选项指定密钥
    • 谢谢,最后一个问题!我可以以某种方式指定“存储库模式”,我想为其应用某些 ssh 吗?例如如果 git remote 有 git@github.com:workrep -> 应用 work.pub?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-06-22
    • 2013-05-16
    • 2013-10-12
    • 1970-01-01
    • 2021-05-21
    • 2011-05-12
    • 1970-01-01
    相关资源
    最近更新 更多