我有一个 Linux 机器列表,大约有 90 台左右。
这些都保存在文件中,名称为 Host,USR,PW。
有没有办法可以读取此列表,然后连接到每个主机并执行命令 X、Y、Z?
过去,我曾单独接触过每台机器,并且只是手动执行命令。
这需要很长时间。一定有更好的方法。
答案1
SSH 批处理模式应该可以做到这一点。此处讨论:http://www.thegeekstuff.com/2009/10/how-to-execute-ssh-and-scp-in-batch-mode-only-when-passwordless-login-is-enabled/
ssh -o "BatchMode yes" ramesh@remote-host who
要使用用户名和密码,您可能需要使用 expect 进行一些工作。批处理模式需要使用预共享密钥
答案2
答案3
答案4
看一眼集体来自 Puppet Labs 和插件shellcmd-代理。