Поиск по сайту:

Как управлять несколькими сеансами SSH


О SSH

Мы все знаем, что такое SSH, верно? SSH, означает ecure Shellell (иногда известный как Secure Socket Shell), представляет собой криптографический протокол, который можно использовать для доступа к удаленному серверу. и VPS из ваших локальных систем. Нам не обязательно находиться рядом с физической машиной, чтобы выполнять команды в терминале удаленной системы. Как следует из названия, SSH полностью безопасен и шифрует весь трафик между удаленными и локальными системами. SSH на самом деле представляет собой набор из трех утилит, а именно slogin, ssh и scp. Эти три утилиты являются безопасной заменой более ранних утилит UNIX, а именно rlogin, rsh и rcp. SSH поможет вам получить виртуальную среду терминала удаленных систем.

Управление несколькими сеансами SSH

В этом уроке мы увидим, как управлять несколькими сеансами ssh. Иногда вам может потребоваться доступ к терминалу нескольких пользователей удаленной системы одновременно или вам может потребоваться доступ к терминалу нескольких удаленных систем с помощью SSH. Как вы можете это сделать? Не беспокойся.

Для этой цели пригодится несколько инструментов. В этом уроке мы обсудим следующие инструменты.

  1. Кластерный SSH;
  2. Менеджер ПАК.

Предварительные условия

Установите openSSH на свои удаленные системы.

Убедитесь, что вы установили программное обеспечение openssh на своих удаленных системах.

Чтобы установить openSSH в системах на базе DEB, запустите:

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

Cluster SSH, также известный как cssh, — это инструмент администрирования кластера через SSH. Он используется для управления количеством окон xterm через одно окно графической консоли, что позволяет интерактивно запускать команды на нескольких серверах через SSH-соединение. Если вы администратор Linux и управляете сотнями компьютеров, у вас может быть возможность ввести одну и ту же команду на многих серверах. Для этого вам необходимо войти на каждый сервер и ввести команду на каждом сервере. Это очень трудоемкий процесс. При использовании ClusterSSH команды, вводимые в окне консоли администрирования, будут реплицироваться на все серверы. Проще говоря, это отличный инструмент для внесения одних и тех же изменений на нескольких серверах одновременно.

Установите кластерный SSH в локальной системе

В Ubuntu/Debian:

sudo apt-get install clusterssh

В RHEL/CentOS 6.x:

cssh недоступен в официальных репозиториях. Поэтому добавьте репозиторий EPEL, а затем установите кластеры.

Чтобы добавить репозиторий EPEL, введите следующую команду:

yum install epel-release

Теперь установите ClusterSSH:

yum install clusterssh -y

Добавить хосты

Здесь я собираюсь управлять двумя удаленными серверами: один — сервером Ubuntu 15.04, а другой — сервером CentOS 6.6 с моего рабочего стола Lubuntu 14.04. IP-адреса обоих серверов: 192.168.1.100 и 192.168.1.101 соответственно.

Запустите консоль Cssh из Unity или Dash. Интерфейс Cssh по умолчанию будет выглядеть так, как показано ниже.

Давайте теперь добавим удаленные хосты. Для этого выберите Хосты -> Добавить хост(ы) или кластер(ы) в главном меню. Введите IP-адрес удаленного хоста.

Введите Да и нажмите Enter, чтобы добавить ssh-ключи удаленных хостов в вашу локальную систему.

Наконец, введите пароль.

Вот и все. Мы успешно подключились к системе Ubuntu 14.04 (192.168.1.100).

Аналогично добавьте столько удаленных хостов, сколько захотите.

Вот мой еще один удаленный хост, работающий под управлением CentOS 6.5 (192.168.1.101).

Но ждать? Мы должны управлять несколькими сеансами SSH одновременно, верно? Да. Теперь давайте создадим кластер, содержащий более одной системы.

Добавить кластер(ы)

Создайте файл конфигурации Cluster SSH и определите кластеры.

Здесь я буду использовать имя своего кластера как testcluster.

Сначала создайте файл конфигурации кластера, как показано ниже:

sudo nano /etc/clusters

Добавьте следующее содержимое:

clusters = testcluster
testcluster = 192.168.1.100 192.168.1.101

Сохраните и выйдите из файла.

Как я уже упоминал выше, testcluster — это имя моего кластера. 192.168.1.100 — это IP-адрес моего сервера Ubuntu 14.04, а 192.168.1.101 — это IP-адрес моего сервера CentOS 6. Альтернативно вы можете использовать имена хостов вместо IP-адреса.

Откройте терминал и выполните следующую команду.

cssh -l sk testcluster

Здесь sk — имя пользователя моего удаленного сервера Ubuntu и Centos.

Примечание. Вы должны разрешить порту 22 через брандмауэр/маршрутизатор доступ к серверам с любых удаленных компьютеров.

Окна терминалов всех серверов откроются автоматически. См. следующий снимок экрана.

Введите пароль для сеансов SSH обоих серверов. Теперь вы увидите, что два сервера вошли в систему.

Кроме того, вы можете запускать сеансы SSH каждой системы, используя имя хоста или IP-адрес вместо имени кластера, как показано ниже:

cssh -l sk 192.168.1.100 192.168.1.101

Использование

Небольшое окно под названием CSSH(2) — это окно консоли администрирования ClusterSSH. Команды, вводимые в консоли администрирования, будут отображаться на обоих серверах.

Например, давайте введем имя хоста в консоли CSSH и посмотрим, что произойдет.

Как вы видите на скриншоте выше, команда имя хоста выполняется автоматически на обоих серверах одновременно и отображает результат.

Предупреждение: Будьте осторожны при использовании кластера CSSH. Если вы введете какие-либо неправильные или неподходящие команды в консоли администратора CSSH, они будут выполняться на всех серверах одновременно и вызовут у вас проблемы. Дважды проверьте команды, прежде чем нажать Enter. Наслаждаться!

2. Менеджер ПКК

PAC, Perl Auto Connector — это замена Perl/GTK для SecureCRT/PuTTY и т. д., (Linux SSH/Telnet). Он предоставляет графический интерфейс для настройки соединений, пользователей, паролей, регулярных выражений EXPECT, макросов и т. д. Это бесплатное программное обеспечение, лицензированное по версии GNU GLPv3.

Функции

  • Уникальное Linux-приложение для реализации функционала SecureCRT;
  • Удаленные и локальные макросы;
  • Удаленно отправлять команды с помощью регулярного выражения EXPECT;
  • Кластерные соединения!! Соединения в одном кластере используют общие нажатия клавиш;
  • Поддержка сценариев;
  • Последовательное/tty-соединение через соединения cu/tip/remote-tty;
  • Локальные исполнения до/после соединений;
  • ВКЛАДКИ ИЛИ ОКНА для соединений;
  • Поддержка прокси;
  • Интеграция с KeePass;
  • Возможности пробуждения по локальной сети;
  • Возможность разделения терминалов в одной вкладке;
  • Быстрый доступ к настроенным соединениям через значок меню в трее;
  • Лучший графический интерфейс Linux для SSH, Telnet, SFTP, rdesktop, VNC, cu, удаленного терминала, FTP и т. д.;
  • Доступны пакеты DEB, RPM и .TAR.GZ;
  • БЕСПЛАТНО (GNU GPLv3).

Установить PAC Manager в Ubuntu/Debian

Загрузите последнюю версию с сайта www.sourceforge.net:

wget http://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

Установить PAC Manager на RHEL/CentOS

В 32-битных системах:

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

В 64-битных системах:

wget http://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

Откройте PAC из панели управления или меню. Главное окно PAC-менеджера будет выглядеть, как показано ниже.

Добавить удаленные хосты

Сначала давайте посмотрим, как получить доступ к одному удаленному хосту.

Нажмите значок Новое соединение в левом верхнем углу главного окна PAC.

Введите Имя и Название для нового подключения.

В следующем окне выберите метод подключения в раскрывающемся списке Метод. Доступно множество методов подключения, таких как FTP, SFTP, SSH, RDP, RDESKTOP, VNC и т. д. Метод по умолчанию — SSH. Затем введите IP-адрес, имя пользователя и пароль удаленного хоста. Наконец, нажмите кнопку Сохранить и Закрыть .

Если вы хотите запустить удаленного пользователя с разрешением sudo, установите флажок «sudo» в раскрывающемся списке метода подключения.

Теперь удаленный узел будет добавлен на вкладке Соединения в главном окне PAC.

Подключение к удаленному хосту

Выберите удаленный узел, к которому вы хотите получить доступ, и нажмите Подключиться.

Вуаля! Теперь вы сможете подключиться к удаленному хосту.

Как вы видите на скриншоте выше, я могу получить доступ к своему серверу Ubuntu 15.04 из PAC Manager. Аналогичным образом вы можете добавить и получить доступ к любому количеству удаленных хостов, которое захотите. Все удаленные хосты будут перечислены в разделе «Подключения» в левой части главного окна PAC.

На снимках экрана ниже показаны сеансы SSH моего удаленного сервера Ubuntu и CentOS.

Создать кластер(ы)

Используя кластер, мы можем объединить две или более системы и выполнять одну и ту же команду в нескольких сеансах SSH одновременно.

Сначала подключитесь к удаленным системам, которые вы хотите добавить в кластер.

Давайте создадим новый кластер. Чтобы создать кластер, нажмите кнопку «Кластеры» в левом нижнем углу окна PAC.

Появится следующее окно. Нажмите кнопку «Добавить».

Введите имя кластера.

Выберите удаленные хосты и нажмите кнопку «Добавить в кластер».

Теперь наши удаленные хосты присоединены к кластеру. Нажмите «ОК», чтобы сохранить.

Теперь введите любую команду в сеансе SSH любого удаленного хоста. Эта же команда будет реплицирована на все системы в кластере. Например, я набираю команду ifconfig в терминале Ubuntu, и та же команда автоматически выполняется на сервере CentOS 6.6.

Будьте осторожны при вводе команд в кластере. В случае, если вы введете неправильную команду, на каждую систему в кластере повлияет.

Создание групп

Нажмите на значок «Новая группа» в верхнем левом углу.

Введите имя группы.

Вновь созданная группа будет указана в разделе «Соединения». Щелкните правой кнопкой мыши группу и выберите «Добавить соединение».

Введите Имя для нового узла.

Введите IP-адрес узла, имя пользователя и пароль. Наконец, нажмите кнопку «Сохранить и закрыть».

Аналогичным образом вы можете добавить в группу столько узлов, сколько захотите.

Теперь выберите узел в группе и нажмите кнопку «Подключиться», чтобы начать новый сеанс SSH. Кроме того, вы можете щелкнуть правой кнопкой мыши имя группы и выбрать опцию «Выполнить в новом кластере», чтобы одновременно запустить сеансы SSH всех узлов.

Введите имя кластера и нажмите «ОК».

Теперь сеансы SSH всех узлов группы будут открываться автоматически.

Как вы, возможно, уже знаете, если вы введете команду в любом сеансе SSH, она будет выполнена на всех узлах кластера. Так что будьте осторожны!

Запустить несколько экземпляров SSH

Еще одна интересная особенность — мы можем открывать несколько экземпляров SSH (до 9) наших удаленных хостов.

Чтобы запустить несколько экземпляров, щелкните правой кнопкой мыши удаленный узел и выберите «Запустить». В подменю пункта «Пуск» выберите количество экземпляров, которые вы хотите открыть.

Как вы видите на снимке экрана ниже, я запускаю три сеанса SSH сервера CentOS.

Поддержка нескольких протоколов

PAC Manager предназначен не только для доступа к терминалу удаленного сервера. Он имеет некоторые более продвинутые функции.

Он поддерживает несколько протоколов, таких как FTP, SFTP, Redesktop, MOSH, VNC, WEBDAV и многие другие. Например, чтобы получить доступ к удаленному серверу по протоколу FTP, выполните следующие действия.

Сначала убедитесь, что вы установили 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.

Мы можем предотвратить случайные изменения, такие как редактирование, изменение переименования или удаление удаленных хостов.

Для этого щелкните правой кнопкой мыши удаленный узел и выберите опцию «Защитить».

Заключение

Эти инструменты идеально подходят для тех, кто управляет большим количеством удаленных систем. Среди этих двух инструментов PAC Manager имеет множество функций, чем Cluster SSH. Менеджер PAC имеет несколько протоколов, поддержку прокси, KeepassX, поддержку сеансов автоматического сохранения и многое другое. Эти инструменты настоятельно рекомендуются и полезны для повседневной деятельности системного администратора.

Ваше здоровье!