Linux Command ssh-keyscan
  TEZNKK3IfmPf 2023年11月13日 20 0

1. 简介

工具用来收集一组主机的 ssh 主机公钥 (host key), 设计目的是帮助建立和验证 ssh_known_hosts 文件.提供了一个小巧的接口让 shell 和 perl 文件使用.

使用了非阻塞 socket I/O 函数, 尽可能多的并行访问多个主机, 因此它的效率很高. 它可以在数十秒内采集某域中 1,000 台主机的密钥, 即使某些主机离线或不使用 ssh. 扫描的时候无须登录目标主机, 也不涉及任何加密操作.

2. 格式

ssh-keyscan -words [-v46 ] [-p port ] [-T timeout ] [-t type ] [-f file ] [host | addrlist namelist ] [... ]

3. 参数

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

4. 安全

如果通过建立了 ssh_known_hosts 文件, 但却没有验证里面的公钥, 用户很容易遭到中间人 攻击. 而另一方面, 如果安全模型允许这个风险, 创建 ssh_known_hosts 文件后,能够帮助检测已经发起的密钥篡改或中间人攻击.

5. 示例

显示 hostname 的 rsa1 主机密钥:

$ ssh-keyscan hostname
k8s2-master ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCtp4mHchzEKG17pseHL3sIruTTz3mdVUOdkSxjKecozFmCXBE6+gckswKWcY0p/gM5a47mf06fKMbN8m3F+mvDyKhzyry7z3I5UhL4NLluEWfJrUKV+K64hTt7qphHMnkBht+vDs6cSdRkD2VxWatQZ3MBAziLUKFlW8I5fVkGNgjuWyv0gaDDjZu1IqmKbJgd1hvRVuod0cM8xxlfXyx+owzJ2AnjKIzYM0YW3qvZuoU736Vpw4+XaQl0m0l6OBe531WyCH0WgO0613fgn0yQNJic0AxSv1nJmQ0C9h27F/xJ+3St18GO7T/unjARu8/MCgNWDMHm8vmeTFnSRfh5
# k8s2-master:22 SSH-2.0-OpenSSH_7.6p1 Ubuntu-4ubuntu0.3
k8s2-master ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBGCOYfqR4m29v1dhNa+NZdB/mr9LP+kuOSkvnwhNS59LnAN0rDbtdRC6nqEnhfTRZBpNULm5F8hq6oc3qDi/Nh0=
# k8s2-master:22 SSH-2.0-OpenSSH_7.6p1 Ubuntu-4ubuntu0.3
k8s2-master ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPNoeenh2kx3GDGJ2BvZRXY8AxtJ9AvowhVdV6LBckRS

参考:

  • ssh-keyscan(1) — Linux manual page
  • ssh-keyscan(1) - Linux man page
  • ssh-keyscan - Unix, Linux Command
【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

上一篇: linux文件系统解读 下一篇: spring json
  1. 分享:
最后一次编辑于 2023年11月13日 0

暂无评论

推荐阅读
  TEZNKK3IfmPf   2024年05月31日   52   0   0 linux服务器
  TEZNKK3IfmPf   2024年05月31日   31   0   0 linux服务器centos
  TEZNKK3IfmPf   2024年05月31日   29   0   0 linuxbind
  TEZNKK3IfmPf   2024年05月31日   40   0   0 linuxshell
TEZNKK3IfmPf