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
sshpass
para inserir a senha. Se você tiver os repositórios do DAG configurados, poderá instalar com o yum:yum install sshpass
Se 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
sshpass
yum install sshpass
Depois de ter instalado o
sshpass
, dado um arquivo chamado, por exemplo,ips.txt
que 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
ssh
sem senha para cada um dos dispositivos e ignorar a instalação desshpass
:-
Configurar senha sem%
ssh
ssh-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
-