总览 (SYNOPSIS)

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

描述 (DESCRIPTION)

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

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

可用的选项有:

-p port
远程主机的端口.
-T timeout
设置连接超时. 接入主机后, 从最后一次读到数据经过 timeout 秒没有新的数据进来, 连接就被关闭. 默认超时是 5 秒.
-t type
指定收集的密钥类型. 可选项有协议第一版的 ``rsa1'' 和协议第二版的 ``rsa'' 或 ``dsa'' 可以指定多个选项, 中间用逗号隔开. 默认项是 ``rsa1''
-f filename
从该文件读取主机名或 addrlist namelist 地址/名字对, 一行一项. 如果用 - 代替文件名, 就从标准输入设备读取主机名或 addrlist namelist 地址/名字对.
-v
冗长模式. 使 显示调试信息.
-4
强制 只使用 IPv4 地址.
-6
强制 只使用 IPv6 地址.

安全 (SECURITY)

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

示例 (EXAMPLES)

显示 hostname 的 rsa1 主机密钥:

$ ssh-keyscan hostname

在 ssh_hosts 文件中查找那些主机, 它们有新的密钥, 或者密钥和排序后的 ssh_known_hosts 文件不同:

$ ssh-keyscan -t rsa,dsa -f ssh_hosts | \ 
sort -u - ssh_known_hosts | diff ssh_known_hosts -

文件 (FILES)

输入格式:

1.2.3.4,1.2.4.4 name.my.domain,name,n.my.domain,n,1.2.3.4,1.2.4.4

rsa1 密钥的输出格式:

host-or-namelist bits exponent modulus

rsa 和 dsa 密钥的输出格式:

host-or-namelist keytype base64-encoded-key

这里的 keytype 既可以是 ``ssh-rsa'' 也可以是 ``ssh-dsa''

/etc/ssh/ssh_known_hosts

ssh-keyscan - 收集 ssh 公钥的更多相关文章

  1. [daily] ssh通过私钥导出公钥

    在使用key方式登录ssh服务的时候,我们知道ssh key是使用公钥ssh-keygen工具生成的. 有时候,我们只保存了私钥,但是并没有保存公钥.这个时候,可以使用如下方法,   从私钥中将公钥导 ...

  2. git配置ssh秘钥(公钥以及私钥)linux

    本文默认已经安装git,并有github或者gitlab账号 git在linux下安装参考:https://www.cnblogs.com/lz0925/p/10791147.html 在Linux中 ...

  3. Xshell5配置ssh免密码登录-公钥与私钥登录linux服务器(xshell如何登陆上阿里云服务器)

    原文地址:https://blog.csdn.net/longgeaisisi/article/details/78680180 ssh登录提供两种认证方式:口令(密码)认证方式和密钥认证方式.其中口 ...

  4. git使用ssh协议,生成公钥和私钥,并指定私钥

    http://superuser.com/questions/232373/how-to-tell-git-which-private-key-to-use In ~/.ssh/config, add ...

  5. 企业面试问题收集-ssh框架

    SSH框架阶段 SSH的优缺点,使用场景? Hibernate优缺点 Hibernate优点:(1) 对象/关系数据库映射(ORM)它使用时只需要操纵对象,使开发更对象化,抛弃了数据库中心的思想,完全 ...

  6. [SSH服务]——一个SSH无密码登陆实验

    实验拓扑图 实验描述 机房内有两台服务器: (1)B服务器10.0.10.158,充当Web服务器,有普通用户user_00 (2)C服务器10.0.10.191,充当Mysql服务器,有普通用户us ...

  7. Hadoop SSH+IP、SSH+别名 免密登录配置

    1.为什么要进行 SSH 无密码验证配置? Hadoop运行过程中需要管理远端Hadoop守护进程,在Hadoop启动以后,NameNode是通过SSH(Secure Shell)来启动和停止各个Da ...

  8. 第1章 ssh命令和SSH服务详解

    基础服务类系列文章:http://www.cnblogs.com/f-ck-need-u/p/7048359.html 本文对SSH连接验证机制进行了非常详细的分析,还详细介绍了ssh客户端工具的各种 ...

  9. Linux中ssh介绍与ssh+key密钥登陆部署

    环境内核信息: [root@zabbix- ~]# uname -a Linux zabbix- -.el6.x86_64 # SMP Tue Mar :: UTC x86_64 x86_64 x86 ...

  10. Linux之间配置SSH互信(SSH免密码登录)

    为简化SSH过程,采用证书方式,免去SSH登入时需要输入账号密码的过程,具体操作如下: 一.在SSH服务器所在机器上 1.以root用户登录,更改ssh配置文件 /etc/ssh/sshd_confi ...

随机推荐

  1. ORM--SqlSugar

    这个是很久之前就开始用的一款ORM,挺好用的,推荐~ 关键词: SqlSugar:一款小巧,并且功能齐全的ORM 参考手册网址:http://www.codeisbug.com/Home/Doc 多表 ...

  2. 获取年月日格式为yyyy-m-d简单写法

    方法:通过日期函数toLocaleString()获取.new Date().toLocaleString( );  //"2019/9/1 上午11:20:23" 获取年月日方法 ...

  3. HTML中的img标签属性

    <img>标签 标签用于插入图片.它是单独使用的,没有闭合标签. <img src="https://fakeimg.pl/350x200/ff0000,128/000,2 ...

  4. LeetCode Linked List Medium 2. Add Two Numbers

    Description You are given two non-empty linked lists representing two non-negative integers. The dig ...

  5. WPF 基本图形

    一.WPF的基本图形 WPF图形的基类是Shape,所有的wpf图形类都是继承于Shape.Height,Width等决定它所处的面积,位置等,在没有设置图形宽高的情况,坐标位置为所在的容器的坐标,设 ...

  6. 如何通过命令行编写调试第一个C++程序(UNIX)

    1.文件保存以.cc,.cpp等结尾: 2.bash窗口调试命令:cc prog1.cc,编译器生成可执行问价,Unix系统中为a.out,windows中一般以filename.exe; 3.(1) ...

  7. Foobar 2000增加APE播放支持的方法

    这里说明一下APE,它是一种常用的无损音乐的存储格式,通常会有将原始音乐光盘数字化后存储的APE文件搭配一个CUE文件使用.这个APE存储了音乐的原始数据,而CUE文件则是一个索引文件,用来标记音乐光 ...

  8. Oracle查询用户所有表

    https://blog.csdn.net/wssiqi/article/details/44617197 Oracle查询用户所有表   下面为您介绍的语句用于实现Oracle查询用户所有表,如果您 ...

  9. Python--面向对象的程序设计之继承与派生

    继承与派生 什么是继承 继承是一种创建新类的方式,在python中,新建的类可以继承一个或多个父类,父类又可称为基类或超类,新建的类称为派生类或子类 python中类的继承分为:单继承和多继承 cla ...

  10. Network基础(五):配置静态路由、配置浮动路由、配置多路由的静态路由、配置默认路由

    一.配置静态路由 目标: 配置路由接口IP地址并通过静态路由的配置实现全网的互通. 方案: 按如下网络拓扑配置接口IP地址并通过静态路由的配置实现全网的互通如下图所示: 步骤: 步骤一:配置静态路由 ...