A principal coisa que você precisa para automatizar é a digitação da senha ssh . Há duas maneiras que eu sei que você pode tentar, configurar% sem senha ssh ou instalar sshpass :
-
Use
sshpasspara inserir a senha. Se você tiver os repositórios do DAG configurados, poderá instalar com o yum:yum install sshpassSe não, você pode baixar o RPM diretamente ou adicionar o repositório e então instale:
-
Faça o download do pacote rpmforge-release. Escolha um dos dois links abaixo, selecionando para corresponder à arquitetura do seu host. Se você não tiver certeza de qual usar, verifique sua arquitetura com o comando
uname -i -
Instale a chave GPG do DAG
rpm --import http://apt.sw.be/RPM-GPG-KEY.dag.txt -
Instale o pacote baixado
rpm -i rpmforge-release-0.5.2-2.el6.rf.*.rpm -
Instale
sshpassyum install sshpass
Depois de ter instalado o
sshpass, dado um arquivo chamado, por exemplo,ips.txtque contém os nomes ou IPs dos seus dispositivos, um por linha, você pode automatizar o processo da seguinte forma:while read ip; do echo -n "$ip: " >> local_file.log; sshpass -p 'your password' ssh user@$ip remote_command >> local_file.log done < ips.txt -
-
Como alternativa, você pode configurar
sshsem senha para cada um dos dispositivos e ignorar a instalação desshpass:-
Configurar senha sem%
sshssh-keygen -t rsa while read ip; do ssh-copy-id -i ~/.ssh/id_rsa.pub user@$ip; done < ips.txt -
Execute seus trabalhos
while read ip; do echo -n "$ip: " >> local_file.log; ssh user@$ip remote_command >>local_file.log done < ips.txt
-