проблемы с ожиданием -send:идентификатор спавна exp4 не открыт
Вопрос
Мой ожидаемый код делает это:Он подключается по SSH к другому компьютеру, отправляет пароль, а затем возвращает имя хоста этого компьютера.Ниже я привожу образец моего кода
#!/usr/bin/ожидать -f
установить ipaddr [lrange $argv 0 0]
установить пароль [lrange $argv 1 1]
установить тайм-аут -1
spawn ssh root@$ipaddr имя хоста
match_max 100000
ожидайте "*пароль:*"
отправить -- "$пароль
"
ожидайте, что
Этот код выполняется отлично много раз, но периодически я получаю следующую ошибку
отправлять:идентификатор спавна exp4 не открыт
во время выполнения
"отправить -- "$пароль
""
Почему это происходит?
Решение
Разобрался почему.Я сгенерировал ключи SSH и скопировал их на целевой компьютер.Так что не было «Пароля:" быстрый.Следовательно, прежде чем отправка могла завершиться, ssh-соединение закрылось.
Я удалил ключи ssh с конечного компьютера, снова запустил сценарий и не заметил никаких проблем.