Considerando que o arquivo *servidores_uniserver.txt* esteja correto e a sintaxe ssh-copy-id esteja adequada, tenho uma pequena sugestão para seu script: #!/bin/bash echo "Criando chave" ssh-keygen -b 2048 -t rsa cd /root/.ssh echo "Executando Funcao" sleep 5 *while read server ; do* ssh-copy-id -i "$server" echo "---------------------------------------" echo "$server Chave copiada" *done <servidores_uniserver.txt*
Eu considero esta uma forma mais segura de pegar linha-a-linha de um arquivo texto do que a saída de um comando como o *cat*, especialmente quando alguns caracteres problemáticos podem aparecer no meio do caminho. Testa aí e depois nos diz. Em 27 de janeiro de 2015 12:39, Leandro <leandro...@gmail.com> escreveu: > Bom dia a todos. > > Estou tentando desenvolver esse pequeno script para criar relacao de > confianca nos meus servidores. Porém a $(cat servidores_uniserver.txt) que > contem o nome dos servidores ao qual desejo enviar as chaves geradas, ao > invez de pegar só o nome dos servidores contido dentro dele, eles está > copiando o arquivo servidores_uniserver.txt, nao entendi onde está o meu > erro. se alguem puder ajudar agradeco. > > > Tem outra coisa na linha > ssh-copy-id -i "$server" acredito que aqui é deve estar o meu erro, por > que é aqui que ele copia o arquivo servidores_uniserver.txt ao invez de > copiar só a chave. > > > Agradecido. > > > #!/bin/bash > echo "Criando chave" > ssh-keygen -b 2048 -t rsa > cd /root/.ssh > echo "Executando Funcao" > sleep 5 > for server in $(cat servidores_uniserver.txt); do > ssh-copy-id -i "$server" > echo "---------------------------------------" > echo "$server Chave copiada" > done > > > > > > > > > > > > > > -- > Leandro Paulo > >