问题:
点击登录按钮后,将显示主机密钥验证窗口,其中包含主机密钥信息。(不是我生成的。默认情况下是否会发生这种情况。)
对于公钥身份验证,我尝试从客户端密钥管理器生成密钥对,然后将公钥导出到我的网络服务器,它说密钥无效。(这里可能有哪些问题?)
如果我生成或导入密钥对,主机密钥验证窗口不会显示我生成的。(这是提示您接受指纹信息的地方。)
我知道的:
在没有验证您的指纹是否匹配的情况下接受主机密钥是不好的,因为坏人可能会破坏您的系统,例如向您的计算机发送病毒或窃取敏感信息。
我假设这是来自软件本身的虚拟主机密钥信息。也许是为了确保您的指纹匹配。
软件鼓励您生成主机密钥作为除密码之外的附加安全措施,或者您可以仅使用主机密钥登录。
如果您单击软件上的帮助链接,您将看到:
主机密钥管理器:单击此链接可打开 Bitvise 主机密钥管理,您可以在其中查看您信任的 SSH 服务器主机密钥。所有 Bitvise SSH 客户端都将使用相同的主机密钥设置。通过连接到 SSH 服务器并在出现的主机标识确认对话框中接受主机密钥来导入主机密钥。
软件来源:
- https://www.bitvise.com/ssh-client
- https://www.bitvise.com/getting-started-connect-first-time
- https://www.bitvise.com/getting-started-public-key-bitvise
其他来源
听起来您混淆了SSH 中两种不同类型的公钥。
有主机密钥和用户密钥——它们都使用相同的密钥格式、相同的算法,但它们的用途完全相反:主机密钥从服务器接收(如 TLS 证书);用户密钥是将发送到服务器的密钥(用于用户登录目的)。
是的,因为这是主机密钥 - 它是从服务器接收的,而不是由您发送到服务器的。因此名称为“主机密钥”。
(SSH 服务器确实默认生成其主机密钥,无需管理员参与。但这与您的 SSH 客户端软件无关。)
有多种格式可以表示相同的密钥 - 您在authorized_keys中使用的单行“OpenSSH”格式;多行“SSH2”格式;有时甚至是“PEM”格式。如果服务器需要 OpenSSH 格式的公钥,则导出时必须选择该格式。
您正在生成用户密钥,但“主机密钥验证”窗口根本与此无关 - 它并不意味着向您显示您自己的密钥(验证这一点没有意义);它向您显示标识服务器的密钥。
他们不能扰乱你的系统(假设一个没有 bug 的 SSH 客户端)。
由于其他原因,在不进行验证的情况下接受主机密钥是不好的- 它的功能与 TLS 证书非常相似,因为它会验证您要连接到的主机。如果您跳过验证,并且从不受信任的位置进行连接,那么您可能会连接到攻击者的 MITM 主机,该主机会很乐意窃取您的 SSH 密码以及您通过该 SSH 连接发送的所有其他内容。
不,这不对。这是来自您要连接的服务器的真实主机密钥信息。
主机密钥与用户登录完全无关。登录需要用户密钥——相同的概念,相同的算法,但用法完全相反。(主机密钥让客户端验证服务器;用户密钥让服务器验证客户端。)
在大多数 SSH 服务器中,使用用户密钥对而不是密码。可能同时需要密钥和密码,但这种情况并不常见。(我知道 OpenSSH 支持这一点,我相信 Bitvise WinSSHd 也支持。)