linux如何在多台机器上并行执行SSH命令

在网络环境中,我们经常需要在多台机器上执行相同的命令,例如更新系统、安装软件或执行某些脚本。手动登录到每台机器执行命令是一件非常耗时且容易出错的事情。幸好,有一些工具可以帮助我们并行地在多台机器上执行命令。本文将介绍三种方法:使用终端复用器(如tmux或screen)、使用ClusterSSH和使用Parallel SSH(pssh)。
file

终端复用器:tmux 和 screen

终端复用器是一种在一个终端窗口中创建多个会话的工具。在这些会话中,你可以在每个会话中ssh登录到一个不同的机器。这种方法的优点是你可以在同一个窗口中看到所有的会话,但是你需要手动在每个会话中执行命令。

ClusterSSH:一次控制多个SSH会话

ClusterSSH 是一个可以同时控制多个 SSH 会话的工具。你只需要在主窗口中输入命令,ClusterSSH 会将这个命令发送到所有的 SSH 会话中。这可以极大地提高在多台机器上执行相同命令的效率。安装和使用 ClusterSSH 的命令如下:

安装:

sudo apt-get install clusterssh

使用:

cssh user@host1 user@host2 user@host3 ...

Parallel SSH:在多台机器上并行执行命令

Parallel SSH (pssh) 是一个可以在多台机器上并行执行命令的工具。与 ClusterSSH 不同,pssh 不提供图形界面,但它可以在命令行中快速执行命令。你可以使用以下命令安装和使用 pssh:

安装:

sudo apt-get install pssh

使用:

pssh -i -h hosts_file command

在这里,hosts_file是一个包含你想要登录的所有主机地址的文件,command是你想要在所有主机上执行的命令。

总结

以上就是在多台机器上并行执行SSH命令的三种方法。选择哪种方法取决于你的具体需求和环境。无论选择哪种方法,你都需要在所有机器上有SSH访问权限,并且对于所有机器,你的公钥需要添加到它们的~/.ssh/authorized_keys文件中。

Git LFS 大文件储存工具

发表我的评论

电子邮件地址不会被公开。 必填项已用*标注

63 + 71 =

ajax-loader