从 github 拉取时如何避免 Permission denied (publickey)?

Posted

技术标签:

【中文标题】从 github 拉取时如何避免 Permission denied (publickey)?【英文标题】:How to avoid Permission denied (publickey) when pulling from github? 【发布时间】:2021-11-22 00:09:20 【问题描述】:

我想从我的服务器 Centos 连接到 GitHub。

我在做ssh-add ~/.ssh/id_rsa,这些问题解决了。

但是,我不知道为什么,当我退出然后重新登录时,问题又出现了。 有人知道如何解决这个问题吗?

【问题讨论】:

【参考方案1】:

准确检查所使用的密钥:

git -c core.sshCommand="ssh -Tv" pull

这样,您将看到您的命令实际使用了哪个 URL 和密钥,并了解当前密钥为何不起作用的一些线索。

请注意,ssh-add 仅对您当前的会话有效:退出/重新登录将需要再次输入 ssh-add。这就是为什么自动执行该步骤通常是您的.bashrc 的一部分。

【讨论】:

对不起,但是当我使用git -c core.sshCommand="ssh -Tv" pull 时,我仍然会被拒绝权限。您能否向我解释一下,如何使用 .bashrc 自动执行这些步骤? @wowothk 目标不是避免错误消息,而是从 SSH 获取更详细的日志 @wowothk 您可以使用docs.github.com/en/authentication/connecting-to-github-with-ssh/…(最初适用于 Windows,但也可以在您的 Linux 会话中使用) 感谢您的洞察力,现在我可以理解这个概念了

以上是关于从 github 拉取时如何避免 Permission denied (publickey)?的主要内容,如果未能解决你的问题,请参考以下文章

如何避免使用 API 延迟 github 拉取请求合并

防止 Git 在拉取时更改权限

Xcode 5:从新的 GitHub 存储库推送和拉取不起作用

Swift/Cloudkit:在拉取时处理用户更改

如何避免每次推送或拉取代码时都添加 ssh 密钥

vsCode如何从github拉取项目