有些东西我无法通过公钥/私钥身份验证得到。
我们以在我的 PC 和 GitLab 之间使用 SSH 通信为例。我生成了一对 2 个密钥,一个是私有的,一个是公共的。我可以分享公共的并将其交给 GitLab,而我可以保守私人的秘密。公共用于加密消息,私有用于解密。
因此人们(特别是 GitLab)可以使用公钥向我发送一条加密消息,而我可以使用我的私钥对其进行解密。太酷了,从 GitLab 到我的计算机有一种单向通信。我很高兴 GitLab 可以向我发送加密消息。
但另一方面,我无法向人们(特别是 GitLab)发送加密消息,因为他们没有私钥来解密它。在这种情况下,SSH 如何将加密消息从我的 PC 发送到 GitLab? GitLab 如何确定确实是我在发送消息?
我读过一些关于“私钥用于签署消息”的内容,但我不明白。私钥不就是用来解密的吗?
谢谢。
实际上,您在 SSH 中错过了几个步骤:
authorized_keys
中)。