怎样使用集群 SSH 和 PAC 管理器管理多个 SSH 会话

关于 SSH

我们都知道什么是 SSH,对吧? SSH, 代表 保护 ell(有时称为安全套接字外壳)是一种加密协议,可用于从本地系统访问远程服务器和 VPS。 我们不必靠近物理机就可以在远程系统的终端中执行命令。 顾名思义,SSH 是完全安全的,它加密远程和本地系统之间的所有流量。 SSH 实际上是一套包含三个实用程序的套件,即 slogin、ssh 和 scp。 这三个实用程序是早期 UNIX 实用程序(即 rlogin、rsh 和 rcp)的安全替代品。 SSH 将帮助您获得远程系统的虚拟终端环境。

管理多个 SSH 会话

在本教程中,我们将看到怎样管理多个 ssh 会话。 有时,您可能希望同时访问远程系统的多个用户终端,或者您可能希望使用 SSH 访问多个远程系统的终端。 你怎么能这样做? 不用担心。

为此目的,很少有工具可以派上用场。 在本教程中,我们将讨论以下工具。

  1. 集群 SSH ;
  2. PAC 经理。

先决条件

在远程系统上安装 openSSH

确保您已在远程系统上安装了 openssh 软件。

要在基于 DEB 的系统上安装 openSSH,请运行:

sudo apt-get install openssh-server

在基于 RPM 的系统上,运行:

yum install openssh-server

启动 sshd 服务并使其在每次重新启动时自动启动。

在基于 RHEL 6.x 的系统上:

service sshd start
chkconfig sshd on

在 RHEL 7 系统上:

systemctl start sshd
systemctl enable sshd

1.集群SSH

集群 SSH,也称为 cssh,是一种通过 SSH 的集群管理工具。 它用于通过单个图形控制台窗口控制 xterm 窗口的数量,以允许通过 SSH 连接在多个服务器上交互式运行命令。 如果您是管理数百台机器的 Linux 管理员,您可能有机会在多台服务器上输入相同的命令。 为此,您必须登录每台服务器,并应在每台服务器上输入命令。 这是一个非常耗时的过程。 使用 集群SSH,在管理控制台窗口中键入的命令将复制到所有服务器。 简而言之,它是同时在多台服务器上进行相同更改的绝佳工具。

在本地系统上安装集群 SSH

在 Ubuntu/Debian 上:

sudo apt-get install clusterssh

在 RHEL/CentOS 6.x 上:

cssh 在官方存储库中不可用。 所以添加 埃佩尔 存储库,然后安装clustersh。

要添加 EPEL 存储库,请输入以下命令:

yum install epel-release

现在安装 ClusterSSH:

yum install clusterssh -y

添加主机

这里我将管理两台远程服务器,一台是 Ubuntu 15.04 服务器,另一台是我的 Lubuntu 14.04 桌面上的 CentOS 6.6 服务器。 两台服务器的IP地址都是 192.168.1.100192.168.1.101 分别。

从 Unity 或 Dash 启动 Cssh 控制台。 Cssh 的默认界面如下所示。

现在让我们添加远程主机。 要做到这一点,去 主机 -> 添加主机或集群 从主菜单。 Enter 远程主机的 IP 地址。

类型 是的 并按下 Enter 将远程主机 ssh 密钥添加到本地系统。

CSSH:192.168.1.100_004

最后,输入密码。

CSSH:192.168.1.100_005

就是这样。 我们已经成功连接到Ubuntu 14.04系统(192.168.1.100)。

CSSH:192.168.1.100_006

同样,添加任意数量的远程主机。

这是我的另一台运行 CentOS 6.5 (192.168.1.101) 的远程主机。

CSSH:192.168.1.101_007

可是等等? 我们应该一次管理多个 SSH 会话,对吗? 是的。 现在让我们创建包含多个系统的集群。

添加集群

创建集群 SSH 配置文件并定义集群。

在这里,我将使用我的集群名称作为 测试集群.

首先创建一个集群配置文件,如下所示:

sudo nano /etc/clusters

添加以下内容:

clusters = testcluster
testcluster = 192.168.1.100 192.168.1.101

Save 并退出文件。

正如我上面提到的, 测试集群 是我的集群名称。 192.168.1.100 是我的 Ubuntu 14.04 服务器的 IP 地址和 192.168.1.101 是我的 CentOS 6 服务器的 IP 地址。 或者,您可以使用主机名而不是 IP 地址。

打开终端并运行以下命令。

cssh -l sk testcluster

这里 斯克 是我的 Ubuntu 和 centos 远程服务器的用户名。

笔记: 您必须允许 端口 22 通过防火墙/路由器从任何远程机器访问服务器。

所有服务器的终端窗口将自动打开。 请参阅以下屏幕截图。

桌面 2_001

Enter 两台服务器的 SSH 会话的密码。 现在您将看到两个服务器已登录。

桌面 2_002

此外,您可以使用主机名或 IP 地址而不是集群名称启动每个系统的 SSH 会话,如下所示:

cssh -l sk 192.168.1.100 192.168.1.101

用法

小窗户叫 CSSH(2) 是 ClusterSSH 的管理控制台窗口。 在管理控制台中键入的命令将反映在两台服务器上。

CSSH [2]_003

为了 example,让我们输入 主机名 在 CSSH 的控制台中,看看会发生什么。

桌面 2_004

正如您在上面的屏幕截图中看到的,命令 hostname 同时在两台服务器上自动执行并显示结果。

提醒一句: 使用 CSSH 集群时要小心。 如果您在 CSSH 中键入任何错误的命令或不适当的命令 admin 控制台,它将同时在所有服务器上执行,并会给您带来麻烦。 在按 Enter 之前仔细检查命令。 享受!

2. PAC 经理

PAC, 一种周二。 Connector,是 SecureCRT/PuTTY 等(Linux SSH/Telnet)的 Perl/GTK 替代品。 它提供了一个 GUI 来配置连接、用户、密码、EXPECT 正则表达式、宏等。这是免费软件,在 GNU 的 GLPv3 版本下许可。

特征

  • 实现 SecureCRT 功能的独特 Linux 应用程序;
  • 远程和本地宏;
  • 使用 EXPECT regexp 远程发送命令;
  • 集群连接!! 同一集群上的连接共享击键;
  • 脚本支持;
  • 通过 cu/tip/remote-tty 连接的串行/tty 连接;
  • 前/后连接本地执行;
  • 用于连接的选项卡或窗口;
  • 代理支持;
  • KeePass 集成;
  • 局域网唤醒功能;
  • 可以在同一个 TAB 中拆分终端;
  • 通过托盘菜单图标快速访问配置的连接;
  • 适用于 SSH、Telnet、SFTP、rdesktop、VNC、cu、remote-tty、FTP 等的最佳 Linux GUI;
  • 提供 DEB、RPM 和 .TAR.GZ 包;
  • 免费 (GNU GPLv3)。

在 Ubuntu/Debian 上安装 PAC 管理器

从下载最新版本 www.sourceforge.net

wget https://sourceforge.net/projects/pacmanager/files/pac-4.0/pac-4.5.5-all.deb

使用命令安装它:

sudo apt-get install gdebi
sudo gdebi pac-4.5.5-all.deb

在 RHEL/CentOS 上安装 PAC 管理器

在 32 位系统上:

wget https://sourceforge.net/projects/pacmanager/files/pac-4.0/pac-4.5.5-2.i386.rpm

在 64 位系统上:

wget https://sourceforge.net/projects/pacmanager/files/pac-4.0/pac-4.5.5-2.x86_64.rpm

然后,使用命令安装 PAC 管理器:

rpm -ivh pac-4.5.5-2*.rpm

PAC 管理器现已安装。 接下来,让我们看看它是怎样工作的。

启动PAC

从您的 Dash 或菜单打开 PAC。 PAC 管理器的主窗口如下所示。

PAC (v4.5.5)_006

添加远程主机

首先,让我们看看怎样访问单个远程主机。

点击 新连接 PAC 主窗口左上角的图标。

PAC (v4.5.5)_006

Enter 这 姓名标题 对于新连接。

PAC (v4.5.5): Enter 数据_007

在下一个窗口中,从 方法 下拉框。 有多种连接方式可供选择,如FTP、SFTP、SSH、RDP、RDESKTOP和VNC等,默认方式为SSH。 然后输入远程主机的ip地址、用户名和密码。 最后,点击 Save关闭 按钮。

编辑“Ubuntu 15.04 服务器”:PAC (v4.5.5) _008

如果你想运行远程用户 sudo 许可,检查’sudo’ 连接方法下拉框下的框。

现在远程节点将被添加到 连接 PAC 主窗口中的选项卡。

连接到远程主机

选择要访问的远程节点并单击 连接.

PAC (v4.5.5)_009

瞧! 现在,您将能够连接到远程主机。

PAC (v4.5.5)_010

正如您在上面的屏幕截图中看到的,我可以从 PAC Manager 访问我的 Ubuntu 15.04 服务器。 同样,您可以添加和访问任意数量的远程主机。 所有远程主机都将列在 PAC 主窗口左侧的“连接”部分下。

下面的屏幕截图显示了我的远程 Ubuntu 和 CentOS 服务器的 SSH 会话。

PAC (v4.5.5)_012

创建集群

使用 Cluster,我们可以组合两个或多个系统,同时对多个 SSH 会话执行相同的命令。

首先,连接到要添加到集群的远程系统。

让我们创建一个新的集群。 要创建集群,请单击 PAC 窗口左下角的集群按钮。

选择_013

将出现以下窗口。 单击添加按钮。

集群管理:PAC (v4.5.5)_016

Enter 集群名称。

PAC (v4.5.5): Enter 数据_015

选择远程主机并单击添加到集群按钮。

集群管理:PAC (v4.5.5)_017

现在,我们的远程主机已加入集群。 单击确定保存。

集群管理:PAC (v4.5.5)_018

现在,在任何远程主机的 SSH 会话中输入任何命令。 相同的命令将复制到集群中的所有系统。 为了 example, 我在 Ubuntu 的终端中输入 ‘ifconfig’ 命令,在 CentOS 6.6 服务器中自动执行相同的命令。

PAC (v4.5.5)_002

在集群中输入命令时要小心。 万一您输入了错误的命令,每个系统都会影响集群中的每个系统。

创建组

单击左上角的新建组图标。

选择_003

Enter 团队名字。

PAC (v4.5.5): Enter 数据_004

新创建的组将列在连接部分下。 右键单击该组并选择“添加连接”。

菜单_005

Enter 新节点的名称。

PAC (v4.5.5): Enter 数据_007

Enter 节点IP地址、用户名和密码。 最后,点击 Save 和关闭按钮。

编辑“Ubuntu 15.04”:PAC (v4.5.5) _008

同样,您可以将任意数量的节点添加到组中。

选择_009

现在,选择组中的一个节点,然后单击“连接”按钮以启动新的 SSH 会话。 此外,您可以右键单击组名称并选择“在新集群中执行”选项以立即启动所有节点的 SSH 会话。

菜单_010

Enter 群集名称,然后单击确定。

PAC (v4.5.5): Enter 数据_011

现在,组中所有节点的 SSH 会话将自动打开。

PAC (v4.5.5)_012

您可能已经知道,如果您在任何 SSH 会话中输入命令,该命令将在集群中的所有节点上执行。 所以要小心!

启动多个 SSH 实例

另一个很酷的功能是我们可以打开远程主机的多个 SSH 实例(最多 9 个)。

要启动多个实例,请右键单击远程节点并选择“启动”。 从“开始”项的子菜单中,选择要打开的实例数。

菜单_013

正如您在下面的屏幕截图中看到的,我正在运行 CentOS 服务器的三个 SSH 会话。

PAC (v4.5.5)_014

多协议支持

PAC Manager 不仅仅是访问远程服务器的终端。 它有一些更高级的功能。

它支持多种协议,例如 FTP、SFTP、redesktop、MOSH、VNC、WEBDAV 等等。 为了 example, 要使用 FTP 协议访问远程服务器,请执行以下操作。

首先确保您已在远程系统中安装了 FTP 服务器。 请参考以下链接在基于 RPM 的系统中安装 FTP 服务器。

  • 在 CentOS 7 上安装和配置 FTP 服务器
  • 在 CentOS、RHEL、Scientific Linux 6.5/6.4/6.3 上设置 FTP 服务器
  • 怎样在 openSUSE 13.2/13.1 上设置 FTP 服务器

然后,右键单击“连接”部分下的“远程”节点并选择“编辑连接”。

将出现以下窗口。 从“方法”下拉框中,选择 FTP 协议。 然后,点击 Save 和关闭按钮。

编辑“CentOS 6.6 服务器”:PAC (v4.5.5)_017

现在,单击“连接”按钮。 就是这样。 我们已经使用 FTP 成功连接到远程节点。

PAC (v4.5.5)_018

我们可以防止意外更改,例如编辑、更改重命名或删除远程主机。

为此,请右键单击远程节点并选择“保护”选项。

菜单_019

结论

这些工具非常适合管理大量远程系统的人。 在这两个工具中,PAC Manager 的功能比 Cluster SSH 还多。 PAC 管理器具有多协议、代理支持、KeepassX、自动保存会话支持等等。 强烈推荐这些工具,对系统管理员的日常活动非常有用。

干杯!