Есть ли SSH-клиент, который дублирует команды на несколько терминалов?

Я хотел бы контролировать несколько соединений SSH с одного терминала. Например, я бы набрал ifconfig в главном терминале и все другие соединения SSH будет работать ifconfig, Вот что предложил PuttyCM для Windows, например.

Это может быть очень простой вопрос, но мне не удалось найти такой менеджер соединений ssh. Я не был бы слишком труден для кодирования, но это, конечно, уже существует. Не могли бы вы дать несколько советов?

2 ответа

Решение

Кластер SSH

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

sudo apt-get install clusterssh

Тогда беги cssh:

cssh host1 host2 ...

Используйте эмулятор терминала с трансляцией

Терминатор, например, является эмулятором терминала, в котором вы можете транслировать нажатия клавиш на группу терминалов.:

введите описание здесьвведите описание здесь


В зависимости от того, сколько соединений вы делаете, Cluster SSH может быть лучшим вариантом. Тем не менее, он использует xterm для эмулятора терминала, который может быть не тем, к которому вы привыкли. Тем не менее, намного легче начать работу с несколькими соединениями, используя cssh, чем создавать много сплитов и группировать их в Terminator. Например, это то, что cssh osl-{01..95} получает меня:

введите описание здесь

Окна терминала были все изменены и красиво выложены плиткой. Пробелы предназначены для окон, которые были закрыты из-за сбоя соединения.

Есть много вариантов, чтобы достичь того, что вы хотите. Мой любимый pssh (Параллельный SSH). Он может запускать команды параллельно на нескольких хостах и ​​иметь множество опций.

Вы можете установить его:

sudo apt-get install pssh

pssh имеет некоторые дополнительные преимущества, как это будет установлено с parallel-scp, parallel-rsync исполняемые файлы, как следует из их имен.

Вот пример для запуска whoami команда как пользователь foobar на двух хостах используя pssh:

parallel-ssh -iAH "host_1 host_2" -l foobar "whoami"

Проверьте man pssh или здесь, чтобы получить больше идеи.

Другие вопросы по тегам