增加连接超时为“ssh:连接到主机xxxxx端口22:连接超时”

我需要对networking中的20k +以上的机器(所有linux)进行扫描,我使用ssh连接到每台机器,在其上运行一个小命令并收集输出。 我正在运行平行线程,每个机器都有3k到4k左右的机器。

问题是,对于一些机器,login不起作用,在我的情况下,这表明机器没有正确configuration。 SSH大约需要一分钟才能超时,这1分钟会延迟扫描。

有没有什么select来减less超时期限ssh必须等待结束尝试连接和显示消息:

ssh: connect to host xxxxx port 22: Connection timed out 

并转移到下一台机器? 这将显着加快扫描速度,不仅在扫描太多机器时,而且在less量机器上进行扫描。

使用ConnectTimeout选项。 你可以通过-o标志来使用它。 它需要几秒钟的参数。 例如,要将超时期限设置为3秒,请使用以下内容:

 ssh -o ConnectTimeout=3 username@hostname 

注意:如果机器不在本地networking中,或者本地networking的延迟时间很长,则应该将超时时间设置为更高的值,因为延迟可能会影响初始连接。