Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: bash, expect и cron - нетривиальная задачка...  (Прочитано 3855 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн victor00000

  • Старожил
  • *
  • Сообщений: 15568
  • Глухонемой (Deaf)
    • Просмотр профиля
Re: bash, expect и cron - нетривиальная задачка...
« Ответ #15 : 16 Марта 2013, 12:50:11 »
jackie,
ssh-copy-id - невозможно?
Wars ~.o

Оффлайн jackie

  • Автор темы
  • Новичок
  • *
  • Сообщений: 11
    • Просмотр профиля
Re: bash, expect и cron - нетривиальная задачка...
« Ответ #16 : 16 Марта 2013, 13:02:39 »

Невозможно, потому что на роутере негде сохранить ключи. (там крутится busybox, а не полноценный линукс). Тем не менее, SSH доступ есть. Дело в локальной Ubuntu, использовании expect и скриптах.

Оффлайн ArcFi

  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
Re: bash, expect и cron - нетривиальная задачка...
« Ответ #17 : 16 Марта 2013, 13:04:02 »
Касательно sshpass, чтобы разобраться, где косяк, надо видеть ход подключения:
sshpass -p 'PASSWD' ssh USER@HOSTПоказываем команду и результат её выполнения.

Оффлайн jackie

  • Автор темы
  • Новичок
  • *
  • Сообщений: 11
    • Просмотр профиля
Re: bash, expect и cron - нетривиальная задачка...
« Ответ #18 : 16 Марта 2013, 13:11:44 »
Цитировать
root@ubuntu:~# sshpass -p 'qwerty' ssh admin@192.168.1.1 reboot
>

то есть вход осуществлен, но команда не посылается. Просто появляется промт > от роутера. (команду вводил в консоли, то есть не из скрипта)

Пользователь решил продолжить мысль 16 Марта 2013, 13:39:46:

На самом деле мне нужно понять, что в этой строке неправильно с синтаксисом?

Цитировать
/usr/bin/expect -c 'expect "\n" { eval spawn /usr/bin/ssh -o StrictHostKeyChecking=no -o CheckHostIP=no admin@192.168.1.1; interact; set prompt ":|#|\\\$"; interact -o -nobuffer -re $prompt return; send "qwerty\r"; set prompt ">"; interact -o -nobuffer -re $prompt return; send "reboot\r"; interact }'
« Последнее редактирование: 16 Марта 2013, 13:39:46 от jackie »

Оффлайн victor00000

  • Старожил
  • *
  • Сообщений: 15568
  • Глухонемой (Deaf)
    • Просмотр профиля
Re: bash, expect и cron - нетривиальная задачка...
« Ответ #19 : 16 Марта 2013, 13:50:41 »
sshpass -p 'qwerty' ssh admin@192.168.1.1 /etc/profile; reboot?
Wars ~.o

Оффлайн jackie

  • Автор темы
  • Новичок
  • *
  • Сообщений: 11
    • Просмотр профиля
Re: bash, expect и cron - нетривиальная задачка...
« Ответ #20 : 16 Марта 2013, 14:04:31 »

Посмеялся  ;)

Оффлайн ArcFi

  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
Re: bash, expect и cron - нетривиальная задачка...
« Ответ #21 : 16 Марта 2013, 14:07:18 »
А если так:
sshpass -p 'qwerty' ssh admin@192.168.1.1 "/sbin/reboot"
sshpass -p 'qwerty' ssh admin@192.168.1.1 <<< "/sbin/reboot"
echo "/sbin/reboot" | sshpass -p 'qwerty' ssh admin@192.168.1.1
?

На самом деле мне нужно понять, что в этой строке неправильно с синтаксисом?
Тогда вам придётся подождать, пока у кого-то из присутствующих дойдут руки до "man expect". %)

Оффлайн ZwS

  • Старожил
  • *
  • Сообщений: 1674
    • Просмотр профиля
Re: bash, expect и cron - нетривиальная задачка...
« Ответ #22 : 16 Марта 2013, 15:19:31 »
Код: (bash) [Выделить]
expect -c "spawn ssh -oStrictHostKeyChecking=no -oCheckHostIP=no admin@192.168.1.1; expect -re ':|#|\\\$' {send 'mypassword\r'}; expect -re '>' {send 'reboot\r'}"вроде так.
Dell Inspiron One 2330 | Intel+Radeon HD7650A | 8GB RAM | Ubuntu GNOME 17.10

 

Страница сгенерирована за 0.078 секунд. Запросов: 25.