【问题标题】:ssh between client and server : How does server decrypt the data send by client to it?客户端和服务器之间的 ssh:服务器如何解密客户端发送给它的数据?
【发布时间】:2020-07-26 09:03:41
【问题描述】:

我正在尝试了解 SSH 机制;据我了解,使用 ssh 我们可以保护客户端和服务器之间的连接。

客户端将创建私钥和公钥(比如使用 ssh-keygen);将公钥传递给服务器。

现在,我们有这个流程:

客户端 -> 服务器;客户端拥有两对密钥,因此如果服务器发送数据(由公钥加密,则客户端可以解密);但是服务器如何解密从客户端->服务器发送的数据;客户端将使用公钥加密数据;由于服务器只有公钥,它如何解密客户端发送给它的数据?

服务器 -> 客户端;服务器只有公钥;所以我认为这没关系;服务器将使用公钥加密数据,然后客户端将使用其私钥解密数据。

【问题讨论】:

  • 您使用 ssh-keygen 生成的密钥用于身份验证。它不用于加密客户端和服务器之间的数据流。无论如何,这个问题目前的形式相当广泛。如果您想了解 ssh 如何加密其会话,您应该从 ssh 维基百科页面和 RFC 开始。

标签: encryption ssh private-key public-key


【解决方案1】:

但是服务器如何解密从客户端发送的数据 -> 服务器

因为在验证服务器之后,双方使用称为Diffie-Hellman algorithm 的版本协商会话密钥。
该算法的设计方式是双方在会话密钥的生成中贡献相等。
生成的会话密钥是共享对称密钥,即加密和解密使用相同的密钥。

Mudit Maheshwari

的“Understanding SSH workflow”处查看更多信息

还有“SSH (Key gen)”:

【讨论】:

    猜你喜欢
    • 2022-06-24
    • 1970-01-01
    • 2011-02-10
    • 1970-01-01
    • 1970-01-01
    • 2023-03-12
    • 2015-11-09
    • 1970-01-01
    • 2015-02-10
    相关资源
    最近更新 更多