2016-10-10 71 views
0

我想检查的OpenSSL版本,而不必登录到每个服务器并输入获取远程OpenSSL的软件版本没有

openssl version 

有我有大约100个IP地址登录。我可以通过bash脚本传递一个包含所有IP地址的单词列表来获得一些指导吗?

我知道配置管理工具(Saltstack,Chef等),但是这让我回到在每台服务器上登录和安装代理。我现在不想这样做。

+3

Stack Overflow是编程和开发问题的网站。这个问题似乎与题目无关,因为它不涉及编程或开发。请参阅帮助中心的[我可以询问哪些主题](http://stackoverflow.com/help/on-topic)。也许[超级用户](http://superuser.com/)或[Unix&Linux堆栈交换](http://unix.stackexchange.com/)会是一个更好的地方。另请参阅[我在哪里发布关于Dev Ops的问题?](http://meta.stackexchange.com/q/134306) – jww

回答

1

编辑:我没有注意到你要求openssl,而不是openssh。

如果你把远程主机的数据文件中的主机

[email protected] 
[email protected] 

可以使用

cat hosts | xargs -I % sh -c 'printf "%: " ; ssh % openssl version' 

而且,作为@jww评论说,这将是相当的SuperUser问题

+0

openssh!= openssl – Cyrus

+0

@Cyrus:thx for the hint;我相应地改变了我的答案 –

+0

这是[无用的'cat'](http://www.iki.fi/era/unix/award.html)。 'xargs'有一个'-a'选项,您可以使用它来传递文件而不显式重定向,或者您可以使用'xargs tripleee