rbonfim
(usa elementary OS)
Enviado em 13/03/2015 - 18:41h
Chacal,
Tive o mesmo problema na criação de um script para realizar a atualização automática de maquinas clientes. Aqui no VOL mesmo uma das soluções foi o uso de Chaves Públicas SSH (que ainda estou implemantando!) a outra foi o uso do sshpass. Segue um exemplo abaixo:
#!/bin/sh
for IP in 192.168.0.110; do
host=`sshpass -f /home/antimonitor/exemplo/passwd ssh root@$IP 'hostname'`
echo "***** Conectando a $host ($IP). *****";
if sshpass -f /home/antimonitor/exemplo/passwd ssh root@$IP 'apt-get update'; then
echo "***** Atualização do cache em $host ($IP) realizada com sucesso. *****"
sshpass -f /home/antimonitor/exemplo/passwd ssh root@$IP 'apt-get -y upgrade' &&
echo "***** Atualização do sistema em $host ($IP) realizada com sucesso. *****" ||
echo "***** Erro na atualização do sistema: $host ($IP) *****" >&2
else
echo "***** Erro na atualização do cache em $host ($IP). *****" >&2
fi
done
O comando sshpass com a opção -f busca no arquivo passwd localizado em /home/antimonitor/exemplo a senha para acesso como root, o arquivo passwd foi criado contendo somente a senha.
Espero que te ajude!
Forte abraço!