ssh-keyscan
采集服务器主机密钥,供后续检查。
执行前须知
采集到的密钥尚未经过身份验证。写入 known_hosts 前,必须通过可信管理员或独立可信来源核对指纹。不要将未经核验的输出直接追加到 known_hosts。扫描不是登录成功,也不代表具备访问权限。下面的重定向会覆盖已有的 hostkeys.txt。
使用示例
在五秒超时内采集 2222 端口的主机密钥,保存到本地文件。
ssh-keyscan -T 5 -p 2222 server.example.com > hostkeys.txt显示采集到的指纹;独立核对后再决定是否信任。
ssh-keygen -lf hostkeys.txt参数与示例
-p port常用查询指定的SSH端口。
示例
ssh-keyscan -p 2222 server.example.com-T timeout常用设置连接超时(以秒为单位)。
示例
ssh-keyscan -T 5 server.example.com-t type常用请求特定的主机密钥类型,以逗号分隔。
示例
ssh-keyscan -t ed25519,rsa server.example.com-4 / -6分别仅使用 IPv4 或仅使用 IPv6。
示例
ssh-keyscan -4 server.example.com-f file从文件中读取主机名或地址,每行一个。
示例
ssh-keyscan -f hosts.txt-H对输出中的主机名进行哈希处理。这不会验证返回的密钥。
示例
ssh-keyscan -H server.example.com-c如果支持,请请求主机证书而不是普通主机密钥。
示例
ssh-keyscan -c server.example.com权威参考
核对日期:2026 年 10 月 27 日