在多台Linux服务器上允许命令的工具(ClusterSSH和Ansible)

1、ClusterSSH

clusterSSH是一个用于同时管理多台服务器集群的命令行工具。它启动一个管理console和一个对应所有指定服务器的xterm,其让你能够在所有服务器中运行相同命令。

要使用clusterssh,如图所示,从在你本地计算机上安装它开始:

RockyLinux/AlmaLinux/OracleLinux上:

[blctrl@areadetector home]$ sudo dnf install clusterssh
Last metadata expiration check: 0:41:22 ago on Tue 05 Jul 2022 02:16:53 PM CST.
Dependencies resolved.
=======================================================================================================================================================
 Package                                    Architecture          Version                                              Repository                 Size
=======================================================================================================================================================
Installing:
 clusterssh                                 noarch                4.16-1.el8                                           epel                      158 k
...

Complete!

在Ubuntu上安装:

blctrl@blctrl-KVM:~$ sudo apt install clusterssh
[sudo] password for blctrl:
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
  libclass-data-inheritable-perl libdevel-stacktrace-perl libexception-class-perl libx11-protocol-other-perl perl-tk xterm
...
Processing triggers for man-db (2.10.2-1) ...
Processing triggers for mailcap (3.70+nmu1ubuntu1) ...

现在你已经安装了它,立即打开一个本地命令行console以及一个在远程服务器上的xterm。要在所有服务器上运行一个命令,在本地命令行终端中输入以下命令:

cssh almalinux oracleLinux Ubuntu CentOS7

窗口中会弹出以下界面:

只需要在CSSH[4]窗口中输入命令并执行,其它四个窗口中会同时显示CSSH[4]中输入的命令并且执行。

2、Ansible 

Ansible是一个自动化IT过程的开源和流行工具。它用于配置和管理系统,部署应用程序等。

要在Linux上安装Ansible,运行以下命令:

[blctrl@areadetector home]$ sudo dnf install ansible
[sudo] password for blctrl:
Last metadata expiration check: 1:19:17 ago on Tue 05 Jul 2022 02:16:53 PM CST.
Package ansible-5.4.0-2.el8.noarch is already installed.
...
Complete!

一旦你安装了Ansible,你能够在/etc/ansible/hosts中添加你服务器的主机或IP地址。

$ sudo vim /etc/ansible/hosts

以分组指定它们,例如:webservers。

[webservers]
192.168.50.184
192.168.50.57
192.168.50.205
192.168.50.128

保存并关闭它。

现在检查在分组webservers中指定所有服务器的当前工作路径。

-a选项用于指定传递给模块的参数,而-u标记指定通过SSH连接到远程服务器的默认用户名。

现在ansible CLI工具只允许你最多一次执行一条命令:

[blctrl@areadetector home]$ ansible webservers -a "pwd " -u blctrl
192.168.50.184 | CHANGED | rc=0 >>
/home/blctrl
192.168.50.205 | CHANGED | rc=0 >>
/home/blctrl
192.168.50.128 | CHANGED | rc=0 >>
/home/blctrl
[WARNING]: Platform linux on host 192.168.50.57 is using the discovered Python interpreter at /usr/bin/python3.6, but future installation of another
Python interpreter could change the meaning of that path. See https://docs.ansible.com/ansible-
core/2.12/reference_appendices/interpreter_discovery.html for more information.
192.168.50.57 | CHANGED | rc=0 >>
/home/blctrl
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值