Existe um cliente SSH que duplica comandos para múltiplos terminais?

4

Gostaria de controlar várias conexões ssh de um terminal. Por exemplo, eu digitaria ifconfig no terminal principal e todas as outras conexões ssh executariam ifconfig . Foi o que ofereceu o PuttyCM no Windows por exemplo .

Esta pode ser uma questão muito simples, mas eu não consegui encontrar um gerenciador de conexões como ssh. Eu não seria muito difícil de codificar, mas certamente já existe. Você poderia dar algumas dicas?

    
por anderstood 23.04.2015 / 20:18

2 respostas

7

SSH de cluster

O SSH de cluster é usado para iniciar várias conexões SSH em janelas de terminal separadas, com uma caixa de entrada comum. Você digita na caixa de entrada e os toques de tecla são enviados para todos os terminais conectados.

sudo apt-get install clusterssh

Em seguida, execute cssh :

cssh host1 host2 ...

Use um emulador de terminal com transmissão

O Terminator, por exemplo, é um emulador de terminal no qual você pode transmitir pressionamentos de teclas para um grupo de terminais.:

Dependendo de quantas conexões você faz, o Cluster SSH pode ser a melhor opção. No entanto, ele usa xterm para o emulador de terminal, que pode não ser o que você está acostumado. No entanto, é muito mais fácil começar com várias conexões usando cssh do que criar muitas divisões e agrupá-las no Terminator. Por exemplo, é isso que o cssh osl-{01..95} me recebe:

As janelas do terminal foram todas redimensionadas e ladrilhadas. As lacunas são para janelas que foram fechadas porque a conexão falhou.

    
por muru 23.04.2015 / 20:28
3

Existem muitas opções para conseguir o que você deseja. Meu favorito é pssh (SSH Paralelo). Ele pode executar comandos paralelamente em vários hosts e ter várias opções.

Você pode instalá-lo por:

sudo apt-get install pssh

pssh tem algumas vantagens adicionais, como se fosse instalado com parallel-scp , parallel-rsync binários para fazer o que o nome sugere.

Aqui está um exemplo para executar o comando whoami como usuário foobar em dois hosts usando pssh :

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

Verifique man pssh ou aqui para ter mais ideia.

    
por heemayl 23.04.2015 / 20:27