Есть ли 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
или здесь, чтобы получить больше идеи.