Автор Тема: Expect  (Прочитано 3136 раз)

Offline Genal

  • Newbie
  • *
  • Повідомлень: 7
  • Karma: 0
Expect
« : 2011-12-29, 10:23:44 »
Добрый день. Якщо хтось використовував expect для автоматичного керування іншими компьтерами підкажіть будьласка. На одному сайті знайшов приклад використання. Вирішив поки зробити простеньку задачку. Щоб запускати програму в убунті, по ssh убунта має заходити на іншу машину і "touch файл" створювати якийсь файл на ній, а потім виходити з цієї машини.
 
#!/usr/bin/expect
spawn ssh логін@192.168.1.1
expect "password:"
end "пароль\r"
expect -re "\\$ $"
send "su\r"
expect "(Пароль:)"
send "пароль_root\r"
expect -re "# $"
send "touch file"
send "exit\r"
expect -re "\\$ $"
send "logout\r"
expect "closed."
exit 0

Але нічого невиходить, на іншій машині нестворюється файл, а в машині з якої я запускаю ці функції після підтвердження ззєднання по ssh весь час перед кожною частиною скрипта (строкою) вискакуе питання "yes" or "no": . Якщо не вводити так  або ні, то виконання продовжується, ящо вводити начебто також, проте результату немає. Може хтось підкаже що я не так роблю, чи взагалы можливо таке зробити. Зі скриптом зробив chmod 555, expect встановив.

Offline swift

  • Administrator
  • Hero Member
  • *****
  • Повідомлень: 549
  • Karma: 7
Re: Expect
« Reply #1 : 2012-01-04, 11:29:56 »
Використовуй для авторизації ssh ключі.
І тоді Expect не потрібен.
/dev/null > /dev/snd

Offline Genal

  • Newbie
  • *
  • Повідомлень: 7
  • Karma: 0
Re: Expect
« Reply #2 : 2012-01-05, 16:11:58 »
Використовуй для авторизації ssh ключі.
І тоді Expect не потрібен.

Взагалі мені потім буде потрібно заходити не на Юникс систему, а на схожу до циско, тому мабуть краще експект. а що означає ключі ssh для авторизації?

Дякую

Offline swift

  • Administrator
  • Hero Member
  • *****
  • Повідомлень: 549
  • Karma: 7
/dev/null > /dev/snd