是否有SSH客户端将命令复制到多个终端?

我想从一个终端控制几个ssh连接。 例如,我将在主终端中键入ifconfig ,所有其他ssh连接将运行ifconfig 。 这就是在Windows上为 PuttyCM提供的例子 。

这可能是一个非常简单的问题,但我没有设法找到这样的ssh连接管理器。 我不会太难编码,但肯定已经存在。 你能提一些提示吗?

群集SSH

群集SSH用于在单独的终端窗口中启动多个SSH连接,并具有公共输入框。 您键入输入框,键击将发送到所有连接的终端。

 sudo apt-get install clusterssh 

然后运行cssh

 cssh host1 host2 ... 

使用带广播的终端仿真器

例如,终结者是一个终端模拟器,您可以在其中向一组终端广播击键:

在此处输入图像描述在此处输入图像描述


根据您建立的连接数量,Cluster SSH可能是更好的选择。 但是,它使用xterm作为终端仿真器,这可能不是您习惯的。 然而,使用cssh开始使用大量连接要比在Terminator中创建大量分割并将它们分组要容易得多。 例如,这就是cssh osl-{01..95}让我:

在此处输入图像描述

终端窗口全部resize并平铺。 对于因连接失败而关闭的窗口的间隙。

有很多选择可以实现你想要的。 我最喜欢的是pssh (并行SSH)。 它可以在多个主机上并行运行命令,并具有多种选项。

您可以通过以下方式安装:

 sudo apt-get install pssh 

pssh有一些额外的优点,比如它将与parallel-scpparallel-rsync二进制文件一起安装,就像它们的名字所暗示的那样。

下面是一个使用pssh在两台主机上运行whoami命令作为用户foobar pssh

 parallel-ssh -iAH "host_1 host_2" -l foobar "whoami" 

检查man pssh或在这里获得更多想法。