北美38fule Asked: 2019-12-06 10:33:25 +0800 CST2019-12-06 10:33:25 +0800 CST 2019-12-06 10:33:25 +0800 CST 关于谁应该持有哪个密钥(公共与私人)的基本原则是什么? 772 在 SSH 日志记录场景中,客户端保留私钥,而服务器将公钥存储在其 ./ssh 目录下。 在不同的场景中,例如 SSL,是服务器保存私钥并将其对应的公钥提供给最终用户。 我在网上阅读了很多关于这两个键的信息,它们要么离题,要么对初学者来说太深了。有人可以用简单的语言解释一下这里决定谁应该持有什么密钥的管理规则是什么?非常感谢。 ssh ssh-keys 1 个回答 Voted Best Answer user1686 2019-12-06T10:43:06+08:002019-12-06T10:43:06+08:00 在所有情况下,被验证的一方都持有私钥(实际上是两个密钥,整个集合)。验证身份的一方只需要知道公钥。 SSH 和 TLS/SSL 实际上都支持对客户端和服务器进行身份验证,因此每个连接可能使用两种不同的密钥对——一种用于验证服务器的身份(服务器持有私钥),另一种用于验证客户端的身份(客户端持有私有密钥)钥匙)。 例如,在 SSH 中,服务器的authorized_keys文件保存客户端公钥,但客户端的known_hosts文件保存服务器公钥。 当您在建立 SSH 连接时被要求验证“主机密钥指纹”时,您会看到服务器的公钥,并且服务器将其私钥存储在 /etc/ssh.xml 中。完成该步骤后,客户端将其自己的公钥提供给服务器。 (TLS 中存在与“客户端证书身份验证”相同的东西,但相比之下它有点少见——尽管在网络上非常少见,但许多浏览器还是支持它。)
在所有情况下,被验证的一方都持有私钥(实际上是两个密钥,整个集合)。验证身份的一方只需要知道公钥。
SSH 和 TLS/SSL 实际上都支持对客户端和服务器进行身份验证,因此每个连接可能使用两种不同的密钥对——一种用于验证服务器的身份(服务器持有私钥),另一种用于验证客户端的身份(客户端持有私有密钥)钥匙)。
例如,在 SSH 中,服务器的
authorized_keys
文件保存客户端公钥,但客户端的known_hosts
文件保存服务器公钥。当您在建立 SSH 连接时被要求验证“主机密钥指纹”时,您会看到服务器的公钥,并且服务器将其私钥存储在 /etc/ssh.xml 中。完成该步骤后,客户端将其自己的公钥提供给服务器。
(TLS 中存在与“客户端证书身份验证”相同的东西,但相比之下它有点少见——尽管在网络上非常少见,但许多浏览器还是支持它。)