使用MacOSX的SSH在多个服务器上运行相同的命令

有一些程序可以在几台服务器上用MacOSX的SSH运行相同的命令吗?

iTerm2可以做到这一点。 为每个服务器创build一个书签,并将每个书签的命令设置为ssh。 然后使用“发送input到所有标签”function。 您可以使用书签窗口(cmd-m)一次打开一堆书签。 https://sites.google.com/site/iterm2home/

看看ClusterSSH 。 我已经从OSX 10.5工作站上使用了这个function,但是无法validation它是否从10.6正常工作。 我高度怀疑它应该工作正常。

tmux-cssh值得一试:

 brew install tmux-cssh tmux-cssh -u user host1 host2 host3 host4 host5 

在tmux-cssh中同时连接5个主机的平铺视图

有很多工具可以做到这一点。 一个例子是并行SSH 。 看起来你必须从马科斯源码编译它,但它应该是一个很好的起点。

这篇linux.com文章对pssh是如何工作的有很好的描述。 另外,关于这个故事的评论涵盖了像Capistrano这样的其他select。 我曾经为此使用过Tentakel,但是看起来这个项目已经死了。

请注意,您可能希望使用并行ssh工具自动执行的许多任务非常适合使用puppet或chef或cfengine等configurationpipe理工具进行自动化。

我结束了使用csshX :

替代文字

我认为iTerm可以做到这一点(iterm.sf.net)

您可以使用任何数量的ssh多路复用器:例如,dsh(舞者shell),pdsh。 检查MacPorts。

或者,也许更简单一些:for $(cat hosts.txt); 做ssh $ x; DONE

厨师的刀,卡皮斯特拉诺,function,或掌舵等更复杂的东西也存在。