2015-09-23 1 views
-3

Моя ситуация в том, что мне нужно настроить конфигурацию некоторых коммутаторов. Аутентификация на коммутаторах осуществляется по паролю и пользователю/паролюожидать сценарий, если пароль еще пользователя/пароль

Я не могу найти сценарий ожидания, который сначала проверяет вход в систему с помощью только пароля, а если он не работает, попробуйте пользователь и пароль.

это должно быть что-то вроде: телнета для размещения если пароль нормально, тогда execupt резервную команда еще отправить имя пользователя и пароль и выполнить резервное копирование команду

#!/usr/bin/expect 
spawn telnet 172.21.146.22 
sleep 1 
send "\x19" 
sleep 1 
expect 
{ 
"Password:" { 
     send "pass\r" 
     interact 
      } 
"Username:" { 
     send "admin\r" 
     sleep 1 
     expect "Password:" 
     send "pass\r" 
     interact 
      } 
} 
+0

Это как мой сценарий выглядит: – serhdan

+0

#/USR/бен/ожидать икры телнета хозяин сна 1 ожидать «#» сна 1 отправить "\ x19" сна 1 ожидать "*" сон 1 отправить "\ т \ т" сна 1 ожидать { "Пароль:" { отправить "PASS \ г" взаимодействуют } " Имя пользователя: "{ отправить «админ \ г» сна 1 ожидать «Пароль:» отправить «пасс \ г» взаимодействуют }} – serhdan

+1

Корректировать вопрос поставить код. Вы не можете правильно форматировать код в комментарии. –

ответ

0

Что вам нужно здесь exp_continue, что в принципе позволяет " перекручивание»в заявлении ожидать

#!/usr/bin/expect 
spawn telnet 172.21.146.22 
sleep 1 
send "\x19" 
sleep 1 
expect {    # <-- open braces *must* be on same line as command. 
    "Password:" { 
     send "pass\r" 
     exp_continue 
    } 
    "Username:" { 
     send "admin\r" 
     exp_continue 
    } 
    timeout { 
     error "timed out before successful login" 
    } 
    "some_string_you_see_when_you_have_logged_in_successfully" 
} 
send "your backup command\r" 

Если при входе, вы увидите приглашение на ввод пароля первым, вы пошлете этот пароль, но оставаться внутри ожидать ком пока не появится другая картина. Если это «Имя пользователя», вы отправите имя пользователя, а затем дождитесь появления подсказки пароля. Если первый пароль удался, то вам нужно искать «some_string_you_see_when_you_have_logged_in_successfully»

+0

Это не сработало – serhdan

+0

вот как Ogin ищет устройство с паролем: http://postimg.org/image/4xxc8ynmh/ – serhdan

+0

Это логин для устройства, использующего имя пользователя и пароль: http://postimg.org/image/6k3qku30n/ – serhdan

 Смежные вопросы

  • Нет связанных вопросов^_^