script para ssh vários servidores com senha diferente

0

Eu tenho um script que executa os mesmos comandos em vários servidores via ssh.

spawn ssh [lindex $argv 0]
send "sudo /usr/sbin/useradd ytkatchen"
expect "password:"
send "Unix\@999\r"

Minha senha não é igual / igual para todos os servidores. Eu tenho duas senhas diferentes para uma longa lista de servidores.

Meu requisito é que o script faça a conexão ssh e use a senha válida correta para continuar o trabalho.

Ele não deve ser executado se a senha estiver errada, mas deve tentar outra senha e continuar.

    
por parpande 18.03.2016 / 14:20

2 respostas

1

A maneira mais fácil seria usar chaves ssh em vez de senhas.

Você pode gerar um par de chaves ssh por servidor e usá-las para se conectar automaticamente sem usar senhas.

Também é melhor para a segurança, pois você não precisa solicitar ou armazenar qualquer senha com seu script.

    
por 18.03.2016 / 14:34
0

Você pode configurar o passwordless sudo em seus servidores para que você não tenha que se preocupar em inserir as senhas. Um guia rápido:

$ sudo visudo

Adicione uma nova linha ao final do arquivo:

EditThisToYourUsername ALL=(ALL) NOPASSWD:ALL

Aviso: é um caractere de tabulação entre Nome de usuário e TODOS.

Salve o arquivo (Escape,: x, Enter).

Outra solução é que você pode ouvir o código de saída do seu comando sudo para saber se sua senha digitada está correta ou não.

    
por 18.03.2016 / 14:50