如何解决多个 github 存储库的 SSH 密钥
我按照本指南为 github 存储库设置了 SSH 密钥对:
https://linuxkamarada.com/en/2019/07/14/using-git-with-ssh-keys/#.YNNfCDZKjRZ
这个密钥一般不应该对我的帐户起作用,即应该对我推送到的任何存储库起作用吗?它似乎适用于我最初为其设置的存储库,但不适用于我在同一帐户下创建的新存储库。我需要重复这些步骤中的任何一个吗?他们中的大多数似乎不应该重复;我已经有了密钥对,它存储在我的 GitHub 帐户中,并且 GitHub 已添加到我的受信任主机中。
解决方法
GitHub 提供了两种主要的存储库访问方式:HTTPS 和 SSH。如果您在帐户设置中设置了 SSH 密钥,那么您应该能够使用它来推送到您有权访问的任何存储库前提是您使用的是 SSH。但是,如果系统提示您使用用户名和密码,那么您使用的是 HTTPS,而不是 SSH,因为 GitHub 不通过 SSH 协议提供用户名和密码访问。
如果您想将 SSH 用于不同的存储库,请转到 Web 界面中的存储库并从下拉列表中复制 SSH URL。然后进入该存储库并运行 git remote -v
。这应该会显示您拥有的所有遥控器及其 URL。假设您要更改的远程名称名为 origin
,请运行以下命令,其中 URL
是您复制的 SSH URL:
$ git remote set-url origin URL
这将设置该存储库以使用 SSH 而不是 HTTPS。
,我在那个链接上添加了一个公钥。对于我的一个存储库,它可以工作,而对于另一个,我收到密码提示 –
这也可能是因为,对于第二个存储库,您输入了错误的 SSH URL,例如:
<me>@github.com:<me>/<myRepository.git>
# instead of:
git@github.com:<me>/<myRepository.git>
确保您的 URL 是第二种形式,使用 git
作为远程用户。
并检查是否涉及 SSH:
git -c core.sshCommand='ssh -Tv" push
然后您将看到使用了什么 SSH 密钥。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。