在 GitHub 上使用 HTTPS 或 SSH

Posted

技术标签:

【中文标题】在 GitHub 上使用 HTTPS 或 SSH【英文标题】:Using HTTPS or SSH with GitHub 【发布时间】:2013-09-02 10:11:59 【问题描述】:

我想知道在 HTTPS 和 SSH 之间连接到 GitHub 存储库的最佳方式是什么。显然 GitHub 似乎推荐 HTTPS over SSH:

如果您决定不使用推荐的 HTTPS 方法,我们可以使用 SSH 密钥在您的计算机和 GitHub 之间建立安全连接。以下步骤将引导您生成 SSH 密钥,然后将公钥添加到您的 GitHub 帐户。

但我看不出为什么 HTTPS 实际上会比 SSH 更好。 SSH 通常应该比 HTTPS 更安全。那么为什么 GitHub 会推荐 HTTPS?

【问题讨论】:

显然更高效。 Pro Git有一篇很好的文章 这是否意味着我应该使用 HTTPS 而不是 SSH? 【参考方案1】:

https 比 ssh 更容易使用。

使用 ssh,您需要:

生成公钥/私钥 在 GitHub 上发布 启动(如果您真的想要安全)一个 ssh 代理来输入您将与您的私钥相关联的密码。

https 只是重用您已有的 GitHub 凭证。 如果您不想为每个 git 命令输入 GitHub 密码,可以将这些凭据存储在 加密 ~/.netrc.gpg(或 Windows 上的 %HOME%/_netrc.gpg)中。 在“Is there a way to skip password typing when using https:// github”查看完整的分步示例。

我以这种方式将 几个 凭据(到 GitHub、BitBucket、内部 repos 等)存储在 one(加密)文件中,然后输入 one 密码(gpg 密码)早上一次。 然后我可以访问所有这些存储库,而无需在白天输入我的凭据。

【讨论】:

HTTPS 更简单,但安全性呢? @user2429940 具有相同的安全性,只要您不将密码保留在纯文本文件中即可。这就是我在***.com/a/18362082/6309 中提到的 gpg 加密如此重要的原因。 @user2429940 了解更多详情:security.stackexchange.com/questions/1599/…【参考方案2】:

我从 GitHub 得到了答案:

我们建议使用 https,因为它的设置要简单得多,并且不需要 ssh 密钥的知识或安全管理。

由于 ssh 和 https 都在幕后使用 ssl,因此要求访问私钥而不是登录凭据的好处只有在这些密钥得到安全管理的情况下才有效。对于那些不熟悉 ssh 密钥最佳实践的人来说,这通常比让他们使用他们已经知道的程序维护用户名/密码登录凭据更难解释。这些建议在那里,因此那些对任何一种方式都没有强烈意见的人可以选择最直接的方法。任何喜欢 ssh 密钥的人都可以这样做,因为它们完全受支持。

【讨论】:

以上是关于在 GitHub 上使用 HTTPS 或 SSH的主要内容,如果未能解决你的问题,请参考以下文章

GitHub:用户名或密码无效

github 代理加速或 CDN 加速

如何在CDSW上调试失败或卡住的Spark应用

如何在 TableView Cell 上使用 iOSCharts (https://github.com/danielgindi/Charts)?

json 从github gist或github创建json然后解析url以获得正确的标题使用https://rawgit.com/输入

github 发布项目