在GitHub上使用HTTPS或SSH

8 git ssh github

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

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

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

小智 14

我从GitHub得到了答案:

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

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


Von*_*onC 6

https比ssh更容易使用.

使用ssh,您需要:

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

https只是重用您已有的GitHub凭据.
如果您不想为每个git命令输入GitHub密码,则可以将这些凭据存储在加密 ~/.netrc.gpg(或%HOME%/_netrc.gpg在Windows上).
请参阅" 使用https:// github时是否有办法跳过密码输入 "的完整分步示例.

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