Github 使用 SSH 密钥提交

Posted

技术标签:

【中文标题】Github 使用 SSH 密钥提交【英文标题】:Github commits using SSH key 【发布时间】:2015-10-22 16:12:45 【问题描述】:

我可能还没有完全理解 Github 中 SSH 密钥的使用。

我按照 Github 文档 [https://help.github.com/articles/generating-ssh-keys/] 在我的笔记本电脑上创建 SSH 密钥并在我的 Github 帐户中导入相同的 SSH 密钥。

但是,当我尝试将本地更改推送到已分叉的项目时,git Bash 仍然要求我提供 github 用户 ID 和密码。

我的理解是;配置 SSH 后,我不必在提交更改时提供我的 gihub 用户帐户和密码,因为 SSH 会处理它。

【问题讨论】:

你的源地址有https作为协议——如果你使用ssh,它不应该是ssh://吗? 【参考方案1】:

当您克隆您的 github 存储库时,您可以为 github 项目选择 http 和 ssh url。

您可以使用 HTTPS、SSH 或 Subversion 进行克隆。

我认为您应该选择 ssh 来使用 ssh 身份验证。 检查你克隆的 git 项目的配置。有一个remore url可以改成ssh url。

【讨论】:

大卫,你是对的,我克隆了同一个 repo,但使用 SSH 并且提交不要求 github 用户 ID 和密码。然而;假设用户使用 https 克隆了他/她的 repo,有没有办法切换到 SSH? 是的,项目中有一个 .git 文件夹,其中包含一个配置文件。您应该编辑该文件。就是这样。 感谢大卫。将尝试该选项。接受为正确答案。【参考方案2】:

使用 ssh 密钥,您必须使用 ssh url 下载。 如果您已经使用 https 方法克隆了 repo,那么您可以使用 SSH 手动覆盖 https。

使用下面的命令覆盖。

git remote set-url origin git@hostname:USERNAME/REPOSITORY.git.

如果对你有帮助,请告诉我。

【讨论】:

超级有帮助,谢谢!

以上是关于Github 使用 SSH 密钥提交的主要内容,如果未能解决你的问题,请参考以下文章

Github提交代码的流程

mac 使用命令行向 github 提交代码

为啥更改我的 SSH 密钥不会使我的提交显示正确的作者?

同一主机设置多个密钥与不同github账号关联,或同一主机同一密钥分别关联github和gitlab

Git项目创建与提交

为不同的 GitHub 帐户使用多个 SSH 密钥