- Установка PSSH или Parallel SSH в Linux
- Установка PSSH в дистрибутивы на базе RHEL
- Установка PSSH в дистрибутивы на базе Debian
- Как использовать pssh в Linux?
- Выполнение одной команды на нескольких серверах Linux
- Выполнение команд на нескольких серверах (машинах) Linux
- Просмотр использования диска на нескольких хостах Linux
- Просмотр времени безотказной работы нескольких Linux хостов одновременно
- Заключение
Несомненно, OpenSSH — это один из самых распространенных и мощных инструментов для Linux, который позволяет через оболочку безопасно подключаться к удаленным Linux системам и безопасно передавать файлы на удаленные системы и с них.
Но самым большим недостатком OpenSSH является то, что вы не можете выполнить одну и ту же команду на нескольких хостах за один раз. OpenSSH не разработан для выполнения таких задач.
Именно здесь на помощь приходит инструмент Parallel SSH или PSSH — это приложение на базе Python, которое позволяет выполнять команды на нескольких хостах параллельно и одновременно.
Инструмент PSSH включает в себя параллельные версии OpenSSH и сопутствующие инструменты, такие как:
- pssh — программа для параллельного запуска ssh на нескольких удаленных хостах.
- pscp — программа для параллельного копирования файлов на несколько хостов.
- prsync — программа для эффективного параллельного копирования файлов на несколько хостов.
- pnuke — параллельно убивает процессы на нескольких удаленных хостах.
- pslurp — параллельно копирует файлы с нескольких удаленных хостов на центральный.
Эти инструменты пригодятся системным администраторам, которым приходится работать с большим количеством узлов в сети.
Установка PSSH или Parallel SSH в Linux
В этой статье мы рассмотрим шаги по установке последней версии программы PSSH (точнее версии 2.3.1) на дистрибутивы RHEL, такие как Fedora, CentOS Stream, Rocky и AlmaLinux. А также на дистрибутивы на базе Debian, такие как Ubuntu и Linux Mint.
Команда pip — это небольшая программа (замена скрипта easy_install) для установки и управления программными пакетами Python index.
Установка PSSH в дистрибутивы на базе RHEL
В дистрибутивах RHEL для установки программы PSSH с помощью yum или dnf необходимо сначала установить в систему пакет pip (т.е. python-pip).
yum install python-pip
ИЛИ
dnf install python-pip
После установки инструмента pip вы можете установить пакет pssh с помощью команды pip. Выполните следующую команду.
pip install pssh
Установка PSSH в дистрибутивы на базе Debian
В дистрибутивах на базе Debian установка pssh с помощью команды pip займёт всего минуту.
sudo apt install python-pip
sudo pip install pssh
Как использовать pssh в Linux?
При использовании pssh вам необходимо создать файл host, содержащий количество хостов, а также IP адрес и номер порта, которые нужны для подключения к удаленным системам с помощью pssh.
Строки в файле хоста имеют следующий вид и могут включать пустые строки и комментарии.
192.168.0.10:22
192.168.0.11:22
Выполнение одной команды на нескольких серверах Linux
Вы можете выполнить любую команду на разных или нескольких Linux хостах в сети, запустив команду pssh. Существует множество опций, которые можно использовать с pssh, как описано ниже:
Мы рассмотрим несколько способов выполнения команд на нескольких хостах с помощью pssh с различными опциями.
- Чтобы прочитать файл хоста, включите опцию
-h host_file-name
или--hosts host_file_name
. - Для того чтобы включить имя пользователя по умолчанию для всех хостов, которые не определяют конкретного пользователя, используйте опцию
-l
имя_пользователя или--user username
. - Вы можете выводить стандартный вывод и стандартную ошибку по мере завершения работы каждого хоста. Используя опцию
-i
или--inline
. - Еще вы можете сделать так, чтобы соединения завершались через заданное количество секунд, включив опцию
-t number_of_seconds
. - Чтобы сохранить стандартный вывод в заданный каталог, можно использовать опцию
-o /directory/path
. - Для того чтобы запросить пароль и отправить его в SSH, используйте опцию
-A
.
Рассмотрим несколько примеров использования команд pssh:
Выполнение команд на нескольких серверах (машинах) Linux
Чтобы выполнить команду echo
«setiwik» в терминале нескольких Linux машин от имени пользователя root и запросить пароль пользователя root, выполните следующую команду.
Важно: Помните, что все хосты должны быть включены в файл host.
pssh -h pssh-hosts -l root -A echo "setiwik"
Примечание: В приведенной выше команде «
pssh-hosts
» — это файл со списком IP адресов и номеров портов SSH удаленного Linux сервера, на котором вы хотите выполнять команды.
Просмотр использования диска на нескольких хостах Linux
Чтобы узнать объем занятого и свободного дискового пространства на нескольких Linux серверах в сети, можно выполнить одну команду следующим образом.
pssh -h pssh-hosts -l root -A -i "df -hT"
Просмотр времени безотказной работы нескольких Linux хостов одновременно
Если вы хотите узнать время работы нескольких серверов Linux одной командой, тогда выполните следующую команду.
pssh -h pssh-hosts -l root -A -i "uptime"
Вы можете просмотреть страницу помощи для команды pssh, чтобы получить множество других вариантов использования pssh.
pssh --help
Заключение
Parallel SSH или PSSH — это хороший инструмент для выполнения команд в среде, где системному администратору приходится работать с множеством серверов в сети. С его помощью можно легко выполнять команды на разных хостах сети одновременно.
Надеемся, что это руководство будет вам полезно, а в случае возникновения дополнительной информации о pssh или ошибок при его установке или использовании, не стесняйтесь оставлять комментарии.