将我的 public 密钥发送到 GitHub 如何让他们验证我是谁?
How does sending my public key to GitHub allow them to verify who I am?
当使用 HTTPS 连接到 GitHub 时,他们显然想要通过询问我的密码来验证我。我输入我的密码,它检查出来,然后他们允许我写我的回购协议。
使用 SSH 密钥设置,我创建了一个 public_key 和一个 private_key 对。我理解的方式,我用来加密的public_key和我用来解密的private_key。
然后我将 private_key 保存在我的机器上,不与任何人共享。然后我转到 GitHub 并粘贴到我的 public_key。
然后他们如何授权我?他们是否使用我的 public_key 来加密消息,然后等待我发回解密后的消息?如果他们取回正确解密的消息,那么他们就知道是我了?
Do they use my public_key to encrypt a message and then wait for me to send back the decrypted message?
恰恰相反。您(您的本地 SSH 客户端)使用您的私钥加密某些内容。如果他们能够使用您提供给他们的 public 密钥解密它,那一定是您。
显然这是一个非常简单的解释。
详情见
当使用 HTTPS 连接到 GitHub 时,他们显然想要通过询问我的密码来验证我。我输入我的密码,它检查出来,然后他们允许我写我的回购协议。
使用 SSH 密钥设置,我创建了一个 public_key 和一个 private_key 对。我理解的方式,我用来加密的public_key和我用来解密的private_key。
然后我将 private_key 保存在我的机器上,不与任何人共享。然后我转到 GitHub 并粘贴到我的 public_key。
然后他们如何授权我?他们是否使用我的 public_key 来加密消息,然后等待我发回解密后的消息?如果他们取回正确解密的消息,那么他们就知道是我了?
Do they use my public_key to encrypt a message and then wait for me to send back the decrypted message?
恰恰相反。您(您的本地 SSH 客户端)使用您的私钥加密某些内容。如果他们能够使用您提供给他们的 public 密钥解密它,那一定是您。
显然这是一个非常简单的解释。
详情见