Ferramentas do usuário

Ferramentas do site


redes:dsh

DSH - Distributed Shell (Shell Distribuído)

Administradores de sistemas sabem a importância de poder monitorar e administrar inúmeras máquinas em um curto espaço de tempo, e preferencialmente, com o mínimo de esforço possível. Seja um pequeno ambiente em núvem, ou um enorme cluster de servidores, a habilidade de centralizar o gerenciamento é essencial.

Para ajudar nessa tarefa, vamos mostrar como usar uma ferramenta chamada DSH que permite que um usuário possa executar comandos em várias máquinas via ssh.

DSH é a abreviação de “Distributed Shell” ou “Dancer’s Shell” está disponível na maioria das principais distribuições Linux.

Intalação

A instalação é simples, basta executar o comando abaixo no terminal

  $ sudo apt-get install dsh

Ou procurar por dsh no gerenciador de pacotes.

Configuração

O principal arquivo de configuração /etc/dsh/dsh.conf é bem simples, mas já que o rsh é um protocolo não criptografado, usaremos o SSH como shell remoto. Usando o editor de texto de sua escolha, encontre esta linha:

remoteshell =rsh

e mude para

remoteshell =ssh

Existe outras opções que você pode colocar aqui, se você quiser, e você pode encontrar todas elas na página do manual do dsh (man dsh). Por enquanto, vamos aceitar o que vem por padrão e dar uma olhada no próximo arquivo, /etc/dsh/machines.list (ou $(HOME)/.dsh/machines.list).

<note>Ao acessar mais de uma máquina ao mesmo tempo, é melhor que a autenticação no SSH esteja configurada para usar chaves ao invés de senha, em todas as suas máquinas. Não só vai fornecer mais facilidade de acesso, como aumentará segurança das máquinas.</note>

A sintaxe é bem simples, tudo o que você precisa é entrar com as credenciais da máquina (Hostname, IP Address, or FQDN), uma em cada linha.

Por exemplo:

172.16.25.125
172.16.25.126

Utilização

Depois de ter entrado com as credenciais das máquinas que deseja acessar, vamos executar um comando simples como uptime para todas as máquinas.

  $ dsh –aM –c uptime

E teremos uma resposta como esta:

  172.16.25.125: 05:11:58 up 40 days, 51 min, 0 users, load average: 0.00, 0.01, 0.05
  172.16.25.126: 05:11:47 up 13 days, 38 min, 0 users, load average: 0.00, 0.01, 0.05

O que acabamos de fazer foi o seguinte:

Em primeiro lugar, executamos dsh com a opção “-a”, que diz para enviar o comando “uptime” para todas (“ALL”) as máquinas listadas em “/etc/dsh/machines.list”.

Em seguida, especificamos a opção “-M”, que diz para incluir o “nome da máquina” (especificado em “/etc/dsh/machines.list”), à saída do comando uptime. (Muito útil quando estiver executando um comando em muitas máquinas).

A opção “-c” significa “comando a ser executado”, neste caso, “uptime”.

DSH também pode ser configurado para usar grupos de máquinas, no diretório “/etc/dsh/groups/“ (ou $(HOME)/.dsh/groups/ ), você pode adicionar um arquivo com o nome do grupo, e a lista das máquinas que pertencem a ele, no mesmo formato do arquivo ”/etc/dsh/machines.list”.

Para executar dsh em um grupo, é só especificar o nome do grupo após a opção “-g”.

Referências

redes/dsh.txt · Última modificação: 2015/09/14 11:17 por 8812