如果您是经常需要通过SSH在多个远程服务器上执行某些任务或执行相同命令的人。 然后,cssh(或ClusterSSH)是您的朋友!


例如,如果系统日志不是集中式的,而您必须一个个地SSH放入所有服务器并调试日志,那么当有多台服务器时,它将变得很乏味。
使用cssh只需两个步骤即可解决这些问题。
- 登录:cssh用户网站
- grep关键字/ path / to / log / file。
安装:
您不遗余力在Ubuntu上安装ClusterSSH。 一个简单的sudo apt-get install clusterssh将安装它及其所有依赖项。
组态:
安装后,可以通过全局配置文件/ etc / clusters /或在用户的主目录.clusterssh / config下配置ClusterSSH。 我选择后者。 ClusterSSH将群集定义为您要执行某些操作的一组计算机。 请牢记这一点,您在“群集”块中将群集枚举到文件的顶部,然后在下面的单独部分中描述每个群集。
例如,我有两个集群。 一个用于处理网站请求,另一个用于处理所有网站api。 然后,配置将如下所示:
群集=网站后端
网站= ip1 ip2
后端= ip1 ip2 ip3 ip4
之后,您可以为用户名创建一个标记,用于在配置文件末尾登录。
用户= sherlock
然后,您需要密码或pem文件才能SSH进入计算机。 如果您有pem文件,则可以在.clusterssh文件中替换ssh_args,如下所示:
ssh_args = -i / path / to / your / pem_file
全部放在一起。 您最终可以将cssh放入所需的群集中,如下所示:
cssh用户后端
瞧! 这四台机器将分别在四个不同的终端中打开。 您可以在父终端中输入要执行的命令,也可以仅在其中单击要执行的服务器。 就如此容易。
但是,现在您想在所有集群上执行特定命令。 您可以通过创建另一个如下所示的元集群标签来实现:
全部=网站后端
这意味着,您可以通过以下命令从网站和后端群集ssh进入所有服务器:
cssh用户全部
谢谢阅读。 🙂