ssh-keyscan命令来自于英文词组“SSH key scan”的拼写,其功能是用于收集主机的SSH公钥信息。Linux系统管理员通常会先用ssh-keygen命令生成出SSH密钥文件,随后用ssh-copy-id命令传送公钥文件到对方主机,而ssh-keyscan命令的作用则是收集主机上的公钥信息,创建和验证sshd服务程序的“ssh_known_hosts”文件。

ssh-keyscan命令仅支持ssh协议版本1,在ssh协议版本2无法使用。

语法格式: ssh-keyscan [参数] [IP地址]

常用参数:

-4强制使用IPv4地址
-6强制使用IPv6地址
-f<文件名>从指定文件中读取“地址列表、名字列表”对
-p<端口>指定连接远程主机的端口
-T<超时时间>指定连接尝试的超时时间
-t<密钥类型>指定要创建的密钥类型
-v信息模式,打印调试信息

参考实例

收集主机SSH公钥,并输出调试信息:

[root@linuxcool ~]# ssh-keyscan -v 192.168.10.10

显示与指定主机上的RSA密钥信息:

[root@linuxcool ~]# ssh-keyscan 192.168.10.10

显示与指定主机上的DSA密钥信息:

[root@linuxcool ~]# ssh-keyscan -t dsa 192.168.10.10

打印调试信息:

[root@linuxcool ~]# ssh-keyscan -v
Author

这篇优质的内容由TA贡献而来

刘遄

《Linux就该这么学》书籍作者,RHCA认证架构师,教育学(计算机专业硕士)。