ssh-keyscan 返回哪些密钥

ssh-keyscan 返回哪些密钥

我理解使用密钥正确登录的先决条件之一是需要将服务器的密钥添加到客户端的密钥中。~/.ssh/known_hosts还有一个名为的实用程序,它返回特定主机的密钥。如果客户端在特定主机中使用了ssh-keyscan这些密钥,则可以将这些密钥添加到客户端的~/.ssh/known_hosts事件中,这样客户端就可以连接到服务器,例如:StrictHostKeyChecking yes~/.ssh/config

Host 192.168.1.100
    StrictHostKeyChecking yes
    user wakatana

我的问题是,以下命令返回哪些密钥?它们从哪里读取?它们存储在服务器上吗?在哪里?

ssh-keyscan -H 192.168.1.100 >> ~/.ssh/known_hosts

我已将所有*.pub/etc/ssh与的输出进行了比较ssh-keyscan,但没有一个匹配。

PS:这有助于我更好地理解 SSH

答案1

  1. ssh-keyscan返回密钥的指纹,而不是实际的公钥。当您进行 SSH 会话时,会涉及两个不同的密钥对(每对都有一个指纹)。
  2. SSH 服务器用于在您登录时识别自身的密钥位于 中/etc/ssh/,通常命名为。您实际上可以使用设置ssh_host_rsa_key更改 SSH 服务器在文件中查找密钥的位置。/etc/ssh/sshd_configHostKey /path/to/host/key

相关内容