rayhem Asked: 2010-01-29 16:55:59 +0800 CST2010-01-29 16:55:59 +0800 CST 2010-01-29 16:55:59 +0800 CST 为什么 SSH 公钥位于服务器上而不是客户端? 772 我不太了解将公钥保存在服务器上的理论。在公钥/私钥的密码箱类比中,为了解锁Alice 的盒子,Alice 持有私钥,而公钥分发给 Bob。看起来服务器扮演着密码箱的角色,那它为什么持有公钥呢? ssh cryptography public-key 5 个回答 Voted Best Answer Zoredache 2010-01-29T17:25:53+08:002010-01-29T17:25:53+08:00 请记住,服务器确实有一个私钥和公钥,它与您作为用户生成的密钥对完全分开。服务器的私钥通常与服务器配置一起存储,而公钥在您尝试连接时由服务器传输。您的客户端将服务器的公钥与您的 known_hosts 文件进行比较。如果使用得当,这可以防止 MITM 攻击。 您拥有个人帐户的私钥。服务器需要您的公钥,以便它可以验证您尝试使用的帐户的私钥是否已获得授权。 所以用你的例子。Bob 和 Alice 都有私钥和公钥。事先共享或作为连接的一部分共享的公钥用于验证由私钥加密的数据是否合法。如果客户端没有公钥,或者有不同的公钥,你会得到一个可怕的警告。如果服务器没有客户端公钥,您将不被允许进入。 Cairo 2010-02-10T09:55:18+08:002010-02-10T09:55:18+08:00 您作为用户是在您登录时提供您是您的信息的人。因此,为了授权,您需要私钥,因为服务器会询问任何冒充您的人(尝试使用您的名称)来证明这一点。 它的工作方式是服务器向您发送一些文本,要求您对其进行加密并使用您的公钥对其进行解密。只有拥有您私钥的人才能做到这一点。 Mircea Vutcovici 2010-01-29T17:07:01+08:002010-01-29T17:07:01+08:00 为方便起见,它持有公钥。否则你必须创建一个 PKI——类似于 SSL CA。 这个想法是在 ssh 客户端要求您接受远程服务器密钥时检查公钥指纹。 Helvick 2010-01-29T17:22:06+08:002010-01-29T17:22:06+08:00 我想说一个更好的类比是服务器的公钥是打开的密码箱,带有一个可以关闭(但不能打开)的闩锁,只有服务器可以打开它。真正的问题是您是否信任公钥(这真的是爱丽丝的盒子吗?),无论您从哪里得到它,根据定义,它都是公开的,这就是 PKI 的意义所在。 dilli babu 2015-01-23T04:20:55+08:002015-01-23T04:20:55+08:00 公钥是一个非常大的数字,从您的私钥数学推导出来。 它是以这样一种方式得出的,即这两个数字是联系在一起的, 但是只有知道公钥的任何人都无法发现私钥。公钥是您发送给其他方、您想要对其进行身份验证或您想要向其发送加密消息的其他方。公钥不敏感,不需要保护。它可以公开传播。[email protected]
请记住,服务器确实有一个私钥和公钥,它与您作为用户生成的密钥对完全分开。服务器的私钥通常与服务器配置一起存储,而公钥在您尝试连接时由服务器传输。您的客户端将服务器的公钥与您的 known_hosts 文件进行比较。如果使用得当,这可以防止 MITM 攻击。
您拥有个人帐户的私钥。服务器需要您的公钥,以便它可以验证您尝试使用的帐户的私钥是否已获得授权。
所以用你的例子。Bob 和 Alice 都有私钥和公钥。事先共享或作为连接的一部分共享的公钥用于验证由私钥加密的数据是否合法。如果客户端没有公钥,或者有不同的公钥,你会得到一个可怕的警告。如果服务器没有客户端公钥,您将不被允许进入。
您作为用户是在您登录时提供您是您的信息的人。因此,为了授权,您需要私钥,因为服务器会询问任何冒充您的人(尝试使用您的名称)来证明这一点。
它的工作方式是服务器向您发送一些文本,要求您对其进行加密并使用您的公钥对其进行解密。只有拥有您私钥的人才能做到这一点。
为方便起见,它持有公钥。否则你必须创建一个 PKI——类似于 SSL CA。
这个想法是在 ssh 客户端要求您接受远程服务器密钥时检查公钥指纹。
我想说一个更好的类比是服务器的公钥是打开的密码箱,带有一个可以关闭(但不能打开)的闩锁,只有服务器可以打开它。真正的问题是您是否信任公钥(这真的是爱丽丝的盒子吗?),无论您从哪里得到它,根据定义,它都是公开的,这就是 PKI 的意义所在。
公钥是一个非常大的数字,从您的私钥数学推导出来。
但是只有知道公钥的任何人都无法发现私钥。公钥是您发送给其他方、您想要对其进行身份验证或您想要向其发送加密消息的其他方。公钥不敏感,不需要保护。它可以公开传播。[email protected]