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?

Foi útil?

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

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top