在GitHub上使用HTTPS或SSH

时间:2013-08-29 20:05:53

标签: git github ssh

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

  

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

然而,我认为没有理由说HTTPS实际上比SSH更好。 SSH通常比HTTPS更安全。那么为什么GitHub会推荐HTTPS?

2 个答案:

答案 0 :(得分:12)

我从GitHub那里得到了答案:

  

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

     

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

答案 1 :(得分:6)

https比ssh更容易使用。

使用ssh,您需要:

  • 生成公钥/私钥
  • 在GitHub上发布
  • 启动(如果您真的需要安全性)ssh-agent输入您与私钥相关联的密码。

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

我在一个(加密)文件中存储几个凭据(到GitHub,BitBucket,内部存储库,...),然后输入一个密码(gpg密码)早上一次。
然后,我可以访问所有这些回购,而无需在白天输入我的凭证。