Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在GitHub中使用HTTPS或SSH_Git_Github_Ssh - Fatal编程技术网

在GitHub中使用HTTPS或SSH

在GitHub中使用HTTPS或SSH,git,github,ssh,Git,Github,Ssh,我想知道在HTTPS和SSH之间连接GitHub存储库的最佳方式是什么。显然GitHub似乎推荐HTTPS而不是SSH: 如果您决定不使用推荐的HTTPS方法,我们可以使用SSH密钥在您的计算机和GitHub之间建立安全连接。下面的步骤将引导您生成SSH密钥,然后将公钥添加到GitHub帐户 然而,我看不出为什么HTTPS实际上比SSH更好。SSH应该比HTTPS更安全。那么为什么GitHub会推荐HTTPS呢?HTTPS比ssh更容易使用 使用ssh,您需要: 生成公钥/私钥 在GitHub

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

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


然而,我看不出为什么HTTPS实际上比SSH更好。SSH应该比HTTPS更安全。那么为什么GitHub会推荐HTTPS呢?

HTTPS比ssh更容易使用

使用ssh,您需要:

  • 生成公钥/私钥
  • 在GitHub上发布它
  • 启动(如果您确实想要安全性)ssh代理以输入您将与私钥关联的密码短语
https只需重新使用您已有的GitHub凭据。
如果您不想为每个git命令输入GitHub密码,您可以将这些凭据存储在一个加密的
~/.netrc.gpg
(或windows上的
%HOME%/\u netrc.gpg
中)。
请参阅“”中的完整分步示例

我用这种方式在一个(加密的)文件中存储多个凭证(到GitHub、BitBucket、内部repos等),每天早上输入一个密码(gpg密码短语)。

然后,我就可以访问所有这些回购协议,而不必在白天输入凭证。

我从GitHub得到了一个答案:

我们建议使用https,因为它的设置要简单得多,并且不需要了解ssh密钥或对其进行安全管理

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


显然,这更有效。在上有一篇关于它的好文章,这是否意味着我应该通过SSH使用HTTPS?HTTPS更容易,但是安全性呢?@user2429940同样的安全性,只要你不将密码留在纯文本文件中。这就是我在中提到的gpg加密如此重要的原因。@user2429940了解更多详细信息: