SSH 协议 2 允许您在建立与服务器的安全连接时使用 DSA、ECDSA、ED25519 和 RSA 密钥。(请记住,我只熟悉 RSA 的过程和功能,不能代表其他方法)
让我感到困惑的是,根据man sshd
,Diffie-Hellman 用于密钥交换:
对于协议 2,前向安全性通过 Diffie-Hellman 密钥协议提供。该密钥协议产生共享会话密钥。会话的其余部分使用对称密码进行加密...
这导致两个问题:
- 如果在密钥交换期间不使用 RSA 密钥,它将在哪里发挥作用?
- 为什么需要第二个协议(在本例中为 Diffie-Hellman)?为什么不直接使用客户端的 RSA 公钥加密服务器上的会话密钥,然后发送给客户端呢?