SSH entre o número N de servidores

0

Eu tenho n número de servidores como c0001.test.cloud.com , c0002.test.cloud.com , c0003.test.cloud.com e eu quero fazer o ssh entre esses servidores como: do servidor: c0001 faça o ssh para c0002 e saia do servidor. Volte para c0001 faça o ssh para c0003 e saia do servidor.

Assim, desta forma, ele irá executar o script sem inserir qualquer entrada durante o tempo de execução e podemos ter um número n de servidores. Eu escrevi um script:

str1=c0001.test.cloud.com,c0002.test.cloud.com,c0003.test.cloud.com
string="$( cut -d ',' -f 2- <<< "$str1" )"
echo "$string"
for j in $(echo $string | sed "s/,/ /g") do ssh appAccount@j done

Mas este script não está funcionando bem. Eu também verifiquei passando parâmetros como: -o StrictHostKeyChecking=no e <<'ENDSSH' , mas não está funcionando. Então, como podemos alcançar o ssh entre vários servidores usando scripts?

    
por Niket Sharma 20.07.2018 / 18:16

1 resposta

0

  1. Você está dizendo %código%, usando for j in …(values)… do ssh appAccount@j done como uma variável shell. Mas isso significa que você precisa referenciar essa variável como j , por exemplo, $j .
  2. Você precisa de um ponto e vírgula ( ssh "appAccount@$j" ) ou de uma nova linha entre ; e ssh "appAccount@$j" .

Existem outros problemas - por exemplo, todas as referências de variáveis de shell devem ser citadas - mas o acima deve começar.

    
por 20.07.2018 / 18:56