我在做我需要的时候遇到了问题。如果我这样做,我可以节省大量时间。
我基本上需要遍历每个主机,我可以自己完成这部分。
但我永远无法让命令出来。
我基本上想为每个主机
执行此操作 chmod 750 /root; chown -R root:root /root;exit;
我已经尝试了很多变体,所有这些变体只会ssh
到服务器并且在该服务器上什么都不做。他们从未在目标服务器上实际运行该命令。相反,他们最终在我正在运行ssh
的服务器上运行命令。
另请注意,公钥已经设置好,因此密码没有问题。
为了更好地理解,我将展示这个
for h in HOSTNAMES do
ssh $h; OTHER STUFF
done
答案 0 :(得分:1)
这适合我。
C02NQ9GLG3QD:~ lcerezo$ ssh -K myhost "last -1;uptime"
lcerezo pts/2 172.31.0.40 Wed Dec 16 17:31 - 17:39 (00:07)
wtmp begins Tue Sep 8 17:15:21 2015
16:12 up 1 day, 5:06, 6 users, load averages: 2.16 1.98 2.00
C02NQ9GLG3QD:~ lcerezo$`
您是否看过像pdsh这样的工具? 但是对于大规模配置,我认为您将更好地花时间学习配置管理工具,例如:
答案 1 :(得分:1)
远程服务器的命令作为ssh
的最终参数给出。此外,exit
命令不是必需的,因为在命令完成后关闭连接。
for h in $HOSTNAMES
do
ssh $h "chmod 750 /root; chown -R root:root /root"
done