manod33
(usa Fedora)
Enviado em 01/06/2010 - 16:45h
Seguinte galera , tenho uma rede onde o servidor é fedora e os terminais sao ubuntu 9,04.
Minha rede nos terminais começa com 192.168.0.11 ate 192.168.0.25
Instalei o openssh-server e usei este tutorial:
1 - Instale o servidor ssh nos 20 micros: apt-get install openssh-server ou baixe o pacote.
2 - No seu terminal, como root, crie as chaves de acesso com os comandos:
Código:
ssh-keygen -b 4096 -t rsa
Será solicitado onde deve ser salva a chave, digite /root/.ssh/id_rsa caso esteja indicando outro diretorio.
Em seguida, será pedido para definir o passphrase, Não Defina, Apenas pressione ENTER.
Será solicitado para confirmar o passphrase, Pressione ENTER novamente.
Pronto, chaves criadas,
3 - Agora, a partir do seu terminal, é preciso dar dois comandos para cada um dos 20 micros.
Código:
scp /root/.ssh/id_rsa.pub root@IP:/root/.ssh/
ssh root@IP "cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys"
ps: Não é o caso, mas em algumas distros, não existe a pasta .ssh dentro de root mesmo com o servidor
Agora, do seu micro, basta dar um ssh root@IP que você acessa via ssh todos os micros da sua rede.
Agora é facil criar um script, ex:
Código:
#! /bin/bash
ip=1
endip=20
until [ $ip -gt $endip ]; do
ssh root@192.168.1.$ip "shutdown -h now"
ip=`expr $ip + 1`
done
Basta rodar o script que todos os micros do ip 192.168.1.1 ao 192.168.1.20 vão desligar.
Se tiver algum micro fora da rede ou desligado e quiser agilizar a velocidade do script, mude a linha do shutdown para
Código:
ssh -o ConnectTimeout=4 root@192.168.1.$ip "shutdown -h now"
Se em 4 segundos o micro não responder, ele passa pro proximo micro.
Dessa forma foi contornado o problema do "sudo", não é usado.
O comando shutdown é dado pelo root da propria maquina, não pelo root da sua maquina, contornado o problema de administração.
Esse, acho que é o jeio fácil, a menos que alguma outra coisa atrapalhe.
Meu problema é em desligar todos ao mesmo tempo ja que nao consigo fazer o
#! /bin/bash
ip=1
endip=20
until [ $ip -gt $endip ]; do
ssh root@192.168.1.$ip "shutdown -h now"
ip=`expr $ip + 1`
done
So consigo desligar usando o
ssh -o ConnectTimeout=4 root@192.168.1.$ip "shutdown -h now"
Mais assim tenho que desligar makina por makina e usar senha toda vez que dou o comando
Como criar este script alterando meus ips para que desligue tudo simultaneamente?
Por favor me ajudem
Editar