ClusterSSH-同时管理多个ssh会话

时间:2020-03-05 15:26:14  来源:igfitidea点击:

大多数服务器管理员都运行SSH来维护他的服务器。
当他管理许多服务器时,可能需要打开多个SSH会话。
如果维护活动在每台服务器上使用相同的命令,则每台服务器一一键入命令可能会花费更多时间。
是否可以在一台服务器上运行命令并将其复制到另一台服务器上?
在Linux上,我们可以。
我们将使用ClusterSSH命令来解决这种情况。

什么是ClusterSSH

ClusterSSH是可以同时管理多个SSH会话的应用程序。
使用ClusterSSH,我们可以同时在服务器组(集群)上执行相同的命令。
这将确保所有服务器保持同步。

安装

使用包管理器

在基于Debian/Ubuntu的Linux上:

$sudo apt-get install clusterssh

在基于RedHat/CentOS的Linux上:

# yum -y install clusterssh

使用压缩包

为了确保我们安装了最新版本,可以下载ClusterSSH源文件并手动进行编译。
在撰写本文时,ClusterSSH的最新版本是3.28.
可以从SourceForge站点下载源。

下载完成后,请按照以下步骤进行安装。

1.提取源文件
2.转到提取源文件的文件夹
3.类型:

$./configure
$make
# make install

4.完成

请注意,ClusterSSH使用Perl及其库来运行。
在我的Zorin Linux(基于Ubuntu)上,我在编译ClusterSSH时发现了一些错误。

通过/include找不到X包含文件
在任何地方都找不到X包含文件

为了解决这个错误,我运行了:

$sudo apt-get install libx11-dev

libx11-dev的安装完成后,我尝试再次对其进行编译,然后开始工作!

找不到Tk.pm

ClusterSSH需要一些Perl模块。
解决此错误的方法是安装Tk.pm模块。
安装它的最简单方法是使用CPAN。

$cpan -i Tk

完成安装Tk.pm后,尝试通过控制台键入cssh。

找不到X11/Protocol.pm

如果遇到此错误,可以通过CPAN安装X11/Protocol.pm模块。

$cpan -i X11::Protocol

完成安装Tk.pm后,尝试通过控制台键入cssh。

如何使用ClusterSSH

要运行ClusterSSH,我们可以输入

$cssh -l username server_ip_address

但是ClusterSSH的功能是管理多个SSH会话。
我们也可以输入:

$cssh -l username server_ip_address_1 server_ip_address_2 server_ip_address_n

但是,如果我们拥有很多服务器,这可能不是一个好方法。
运行多个SSH会话的另一种方法是将每个服务器的地址放入CSSH配置文件中。
有两种类型的配置文件。
首先是全局配置文件。
该文件位于/etc/clusters中。
第二个是.csshrc,位于用户主目录中。

在本文中,我们使用.csshrc文件配置ClusterSSH。
例如,我们添加称为服务器的群集名称(组名称)。
然后,我们添加其组的成员。
.csshrc文件如下所示:

clusters=servers
servers=10.0.6.12 10.0.14.6 10.0.6.149

要运行集群,请输入:

$cssh -l pungki.arianto servers -T “Server Farm”

其中 :

  1. pungki.arianto是这些服务器的登录名
  2. -T“服务器场”将为每个SSH窗口提供标签“服务器场”。

下一步,我们需要为每个服务器输入密码。
我们将看到一个带有标题服务器场(3)的管理控制台。
要对所有服务器运行命令时,需要在管理控制台框中键入命令。
我们可能看不到在框中键入的内容,但是会看到它出现在每台服务器上。

如果我们不想将命令回显到所有服务器,则可以禁用要排除的主机。
只需单击管理控制台中的“主机”菜单,然后选择要排除的服务器。