在 sshd(8) 手册页中:
OpenSSH SSH 守护程序仅支持 SSH 协议 2。每个主机都有一个特定于主机的密钥,用于标识主机。每当客户端连接时,守护程序都会使用其公共主机密钥进行响应。客户端将主机密钥与自己的数据库进行比较,以验证它没有更改。前向保密是通过 Diffie-Hellman 密钥协议提供的。该密钥协议产生共享会话密钥。会话的其余部分使用对称密码进行加密。
(由我强调)
有人可以向我解释身份验证过程是如何工作的吗?我认为:
- 每个主机都有一个唯一的 ssh 密钥(公共和私有)
- 当客户端连接到服务器时,sshd 守护进程为客户端提供公钥
- 客户然后做一些我不明白的事情
- 之后,该会话的其余部分被加密。
我对么?有人可以详细解释一下客户端将主机密钥与自己的数据库进行比较以验证它没有更改是什么意思吗?