ClusterSSH-同时管理多个ssh会话
大多数服务器管理员都运行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”
其中 :
- pungki.arianto是这些服务器的登录名
- -T“服务器场”将为每个SSH窗口提供标签“服务器场”。
下一步,我们需要为每个服务器输入密码。
我们将看到一个带有标题服务器场(3)的管理控制台。
要对所有服务器运行命令时,需要在管理控制台框中键入命令。
我们可能看不到在框中键入的内容,但是会看到它出现在每台服务器上。
如果我们不想将命令回显到所有服务器,则可以禁用要排除的主机。
只需单击管理控制台中的“主机”菜单,然后选择要排除的服务器。