我的GitHub SSH密钥应该是什么?

Mos*_*she 3 svn version-control github

我开始使用GitHub并且我不知道我在做什么.

什么是SSH密钥?我该怎么设置我的钥匙?我能弥补吗?

编辑:

我在OSX上

Dav*_*ley 7

回答你的第一个问题:

为此,请将SSH视为使用加密技术进行安全通信的方法.

对于大多数加密算法,您和GitHub必须单独就一个密钥达成一致,这通常是不切实际的.因此,SSH使用一类称为"公钥"或"非对称"的加密算法.

这个想法是你有两个密钥,这样一个加密的密钥被另一个密钥解密,从另一个密钥计算它们在计算上是不可行的.实际上并没有那么多算法可行,最后我看,但它们存在.

因此,您必须随机生成密钥,并调用一个公钥和一个私钥.您将公钥发送给GitHub或任何其他想要它的人.(鉴于合适的软件,大部分都是自动处理的.)然后GitHub可以通过使用您的公钥加密来秘密地向您发送信息,只有您可以解密它.同样,GitHub会向您发送一个公钥,以便您可以发送秘密消息.

实际上,这些密码效率低下,因此您来回发送的内容是高效加密算法的关键.


Adr*_*o P 6

如果您有Linux(或msysGit或Cygwin ...):

  1. 转到目录 ~/.ssh
  2. 检查您是否已有此文件: id_rsa.pub
    • 如果没有,请使用以下命令创建它: ssh-keygen -C "name@email.com" -t rsa
  3. 获取此文件的内容(cat id_rsa.pub),然后复制并粘贴到GitHub.

这就对了.

  • 也适用于OS X. (2认同)
  • Michiel Kalkman:没有必要**这样做,将你的安全密钥从一个硬盘复制到另一个硬盘打破了安全的想法.您可以在GitHub帐户中拥有多个公钥.如果一个ssh-key被泄露,例如硬盘故障或者意外复制到公共场所; 您可以随时从GitHub中删除密钥,在您的计算机中创建一个新密钥并将新公钥上传到GitHub.这就是为什么公钥通常以对其创建的`user @ computer name`的注释结束,以便区分在哪台计算机上使用哪个密钥. (2认同)