использование ssh 1 хоста, применение некоторых команд, выход из устройства и ssh другого устройства для применения некоторых других команд

использование ssh 1 хоста, применение некоторых команд, выход из устройства и ssh другого устройства для применения некоторых других команд

Привет, я пытаюсь использовать expect для устранения неполадок в сети между двумя устройствами. Подводя итог, я пытаюсь запустить скрипт с использованием expect, который вводит данные на 2 устройства и применяет команды.

  1. скрипт просит пользователя ввести 2 имени хоста
  2. Устанавливаются переменные user, password и prompt.
  3. запустить процесс ssh на первом устройстве
  4. показать команды для устранения неполадок

Все вышеперечисленное работает отлично... проблема возникает при попытке подключиться по ssh к другому имени хоста, по сути, мой скрипт завершается через 10 секунд и не подключается по ssh к другому устройству.

Заранее спасибо этому сообществу за вашу отличную работу по оказанию помощи

вот код

#!/usr/local/bin/expect -f

exec tput clear >@ stdout
set timeout 10

puts "Enter hostname to connect"
set c [gets stdin]

puts "which is the destination hostname?"
set dhostname [gets stdin]

#setting password variable, reading it from file
set pa [open "pass.txt" r]
set pass [read $pa]
close $pa

#setting user variable
set user xxxx

#setting prompt variable
set prompt "(%|#|\\$|>|~|:) $"

spawn -noecho ssh $user@$c;

expect {
"Are you sure you want to continue connecting (yes/no)" {send {yes};
send "\r"
exp_continue}

"assword:" {
        send "$pass\r"
        expect -re $prompt

}
}
##commands to execute on the device
send "show system uptime\r";

expect "$prompt"

send "exit\r";

expect -re $prompt

send "ssh $user@$dhostname";

Связанный контент