Problemas com espera -send: spawn id exp4 não aberto
Pergunta
Meu código de espera faz isso: ele faz um ssh conectado a outra máquina, envia a senha e depois retorna o nome do host dessa máquina. Eu dou uma amostra do meu código abaixo
#!/usr/bin/espera -f
Definir ipaddr [lRange $ argv 0 0
Definir senha [lRange $ argv 1 1
Defina o tempo limite -1
Spawn ssh root@$ ipaddr hostName
Match_max 100000
Espere "*ass -palavra:*"
Enviar - "$ senha r"
Espere eof
Este código funciona perfeitamente muitas vezes, mas intermitentemente, recebo o seguinte erro
Enviar: Spawn ID EXP4 não aberto
enquanto executa
"Send -" $ senha r ""
Por que isso está acontecendo?
Solução
Descobriu o porquê. Eu havia gerado teclas SSH e copiei -as para a máquina de destino. Portanto, não houve "senha:" prompt. Portanto, antes do envio poderia ser concluído, a conexão SSH havia fechado.
Excluí as teclas SSH da máquina de destino e corri o script novamente e não observei problemas