已接受来自 yyyy 的用户 x 的公钥(ssh 身份验证)

已接受来自 yyyy 的用户 x 的公钥(ssh 身份验证)

服务器 A 和 B 已设置为 autoSSH

我在服务器 A (yyyy) 上并且正在访问服务器 B。

我知道 A 的公钥存储在 B 中,当 A 连接时,B 会使用该公钥加密对 A 的质询。然后 A 会使用其私钥解密该质询。

当服务器 A ssh 到 B 时,我在 B 的 /var/adm/message 中看到了这个

7 月 10 日 10:04:25 serverB sshd[7703]: [ID 800047 auth.info] 已接受来自 yyyy 端口 50910 ssh2 的 oracle 公钥

q1) 为什么 A 要将其公钥发送给 B ?我以为 B 应该是发送公钥质询的人?

答案1

a1) 公钥认证可以分两个阶段进行(如 [RFC4252] 中所述)。第一个阶段是“MAY 类型”,消息包含公钥,用于在服务器上验证用户是否能够使用此密钥访问此帐户。这样做是为了避免不必要的处理和用户交互,尤其是当您在未设置无密码认证的每台服务器上发送公钥时。

您的描述是第 2 步,如果第一步成功,则继续执行(大多数客户端实现)。第一步是不够的,因为它不能证明私钥的拥有权(这可以通过质询签名来证明)。

[RFC4252]https://www.ietf.org/rfc/rfc4252.txt

相关内容