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

and*_*ood 5 ssh administration

我想从一个终端控制多个 ssh 连接。例如,我会ifconfig在主终端中输入,所有其他 ssh 连接都会运行ifconfig。这就是提供PuttyCM在Windows例如

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

mur*_*uru 10

集群 SSH

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

sudo apt-get install clusterssh
Run Code Online (Sandbox Code Playgroud)

然后运行cssh

cssh host1 host2 ...
Run Code Online (Sandbox Code Playgroud)

使用带有广播的终端模拟器

例如,Terminator 是一个终端模拟器,您可以在其中向一组终端广播按键操作。:

在此处输入图片说明 在此处输入图片说明


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

在此处输入图片说明

终端窗口都调整了大小并很好地平铺。间隙用于由于连接失败而关闭的窗口。


hee*_*ayl 5

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

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

sudo apt-get install pssh
Run Code Online (Sandbox Code Playgroud)

pssh有一些额外的优势,比如它会安装parallel-scp,parallel-rsync二进制文件,正如它们的名字所暗示的那样。

以下是使用以下whoami命令foobar在两台主机上以用户身份运行命令的示例pssh

parallel-ssh -iAH "host_1 host_2" -l foobar "whoami"
Run Code Online (Sandbox Code Playgroud)

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