Page 2 of 3 FirstFirst 123 LastLast
Results 16 to 30 of 44

Thread: expect на shell, или авто-телнеттинг

  1. #16
    Join Date
    Feb 2007
    Location
    Moscow, Russia
    Posts
    3,805
    spawn, expect, send --- это что? Уж больно сильно напоминает tcl-ный expect. Тогда рекомендую ознакомиться с этим: http://wl500g.info/showthread.php?t=9292
    А есть еще такая тема: http://wl500g.info/showthread.php?t=12492

  2. #17
    Я ссылаюсь на http://wl500g.info/showpost.php?p=91357&postcount=23

    Вот все работает "вручную"-
    Code:
    $ ssh myusername@192.168.1.55
    myusername@192.168.1.55's password:
    Last login: Tue Apr  1 23:22:39 2008 from 192.168.1.1
    
    myusername@mypcname ~
    $
    хочу автоматизировать через крон...

    сделал файл - /opt/etc/expect.lib.sh

    сделал скрипт- remotepcshutdown.sh
    Code:
    #!/bin/sh
    . /opt/etc/expect.lib.sh
    expect_open ssh myusername@192.168.1.55
    expect_eol
    expect Password
    send_line mypassword
    expect_eol
    send_line shutdown -s
    expect_eol
    когда запускаю ./remotepcshutdown.sh то выдает-
    Code:
     ./remotepcshutdown.sh
    [: ==: binary operator expected
    [: ==: binary operator expected
    [: ==: binary operator expected
    [: ==: binary operator expected
    [: ==: binary operator expected
    [: ==: binary operator expected
    [: ==: binary operator expected
    [: ==: binary operator expected
    [: ==: binary operator expected
    А если меняю скрипт- remotepcshutdown.sh
    Code:
    #!/bin/sh
    . /opt/etc/expect.lib.sh
    send_line ssh myusername@192.168.10.55
    expect_eol
    expect Password
    send_line mypassword
    expect_eol
    send_line shutdown -s
    expect_eol
    То получаю-
    Code:
    ./remotepcshutdown.sh: ./remotepcshutdown.sh: 5: 9: Bad file descriptor
    ./remotepcshutdown.sh: ./remotepcshutdown.sh: 5: cannot create : Directory nonexistent
    В чем тут дело? Может кто подскажет?
    Last edited by piezomotor; 02-04-2008 at 23:12.

  3. #18
    Как-то это слишком. Я бы сделал что.
    1) Сгенерировал бы пару ключей
    2) Публичный положил бы на целевое устройство в ~/.ssh, закрытый - на роутер
    3) На целевом устройстве сделал бы нужный скрипт
    4) На роутере в крон написал бы ssh -i закрытыйключ юзер@цель /полный/путь/к/скрипту

    И никаких експектов не надо. Если ssh клиент в прошивке не понимает -i, поставьте взрослый клиент из пакета openssh.

  4. #19
    Quote Originally Posted by piezomotor View Post
    Я ссылаюсь на http://wl500g.info/showpost.php?p=91357&postcount=23

    когда запускаю ./remotepcshutdown.sh то выдает-
    Code:
     ./remotepcshutdown.sh
    [: ==: binary operator expected
    [: ==: binary operator expected
    [: ==: binary operator expected
    [: ==: binary operator expected
    [: ==: binary operator expected
    [: ==: binary operator expected
    [: ==: binary operator expected
    [: ==: binary operator expected
    [: ==: binary operator expected



    В чем тут дело? Может кто подскажет?
    у меня все работало пока я не выполнил команду
    ipkg install bash sed grep coreutils wget libuclibc++
    после этого посыпались эти
    [: ==: binary operator expected
    какой пакет гадит я не знаю, просто попытался сделать как написано тут:
    http://wl500g.info/showthread.php?t=9947&page=4

    откатился назад опять заработало

  5. #20
    Join Date
    Dec 2008
    Location
    Moscow
    Posts
    83

    Lightbulb

    Пардон, братья, что пишу с опозданием более чем в год...

    А какая процедура установки expect-mipsel-5.43.tar.gz (369.6 Кбайт) на роутер?

    Внутри вижу

    Code:
    opt \
        local \
              bin \
              include \
              lib \
              share \
    wl-500gp v2 + tor + polipo + барахло всякое на python

  6. #21
    Join Date
    Feb 2007
    Location
    Moscow, Russia
    Posts
    3,805
    просто развернуть
    PHP Code:
    tar xvzf -expect-mipsel-5.43.tar.gz 
    /opt/local/bin можно дописать к PATH

    /opt/local использую для приложений установленных не через автоматический ipkg

  7. #22

    Помогите с установкой expect

    Возможно ктото устанавливал уже, поделитесь опытом.
    во время ./configure пишел что не возможно найти tcl, хотя он установлен из стандарных утилит..

    заранее спасибо.

  8. #23
    Join Date
    Feb 2008
    Location
    Moscow, Tver
    Posts
    3,962
    Quote Originally Posted by houligan View Post
    Возможно ктото устанавливал уже, поделитесь опытом.
    во время ./configure пишел что не возможно найти tcl, хотя он установлен из стандарных утилит..

    заранее спасибо.
    Хакер почитываем?
    Там же написано, что надо установить переменную окружения.

  9. #24
    Quote Originally Posted by vectorm View Post
    Хакер почитываем?
    Ты знааал
    Тем не менее ни set, ни setenv не срабатывают..
    при том что set выводит все переменные нормально.

  10. #25
    Join Date
    Feb 2007
    Location
    Moscow, Russia
    Posts
    3,805
    переменная окружения --- export

    я когда то выкладывал скомпиленный expect: http://wl500g.info/showthread.php?t=9292
    а есть еще такая тема: http://wl500g.info/showthread.php?t=12492

  11. #26
    У когонить получалось использовать этот скрипт для связи по ssh?


    Code:
    #!/bin/sh
    . /opt/lib/expect/expect.lib.sh
    
    expect_open -c ssh login@192.168.1.175
    expect password
    send_line mypass
    expect_eol
    
    expect_close
    Собственно всё зависает на вводе пароля...
    пробовал и expect assword и expect Password..

    в чем может быть проблема?
    Пусть прописан верно, тк скрипт коннектиться и ожидает ввода пароля.

  12. #27
    Quote Originally Posted by al37919 View Post
    т.е. вроде такая страница есть, но каким должен быть url, чтобы вызвать корректное действие... ?
    http://192.168.2.1/tools/restartmodem.htm показывает страницу:
    PHP Code:
    Restarting...
    The system is now restartingPlease wait
    и ничего не делает. Надо передавать параметры... А как их передать если метод POST?

    Вроде с expect все как то проще получается
    Может кто знает ответ?

  13. #28

    readonly: line 6: EXPECT_APP_PIPE_IN: is read only

    скопировал эти скрпты, поменял адрес и логин\пароль, запускаю и
    ./expect_test: readonly: line 6: EXPECT_APP_PIPE_IN: is read only
    ничего не гуглится, что за ошибка?
    1.9.2.7-d-r2410

  14. #29
    Join Date
    Feb 2007
    Location
    Moscow, Russia
    Posts
    3,805
    строго говоря, это скрипты на bash. Чтобы их запустить нужно либо установить bash из optware и поменять первую строку на #!/opt/bin/bash , либо в строках, которые начинаются с readonly просто убрать это слово. В остальном все работает замечательно.

  15. #30

    ./expect_test: line 6: background: not found

    да, спасибо, убрал readonly, дело пошло, но встало на строке ввода пароля
    $ ./expect_test
    ./expect_test: line 6: background: not found
    BCM96332 ADSL Router
    Login: admin
    Password:
    после только CTRL+C
    в чем проблема, что за background: not found?

Page 2 of 3 FirstFirst 123 LastLast

Similar Threads

  1. Ищутся добровольцы с WL500g или WL500b
    By lly in forum Russian Discussion - РУССКИЙ (RU)
    Replies: 19
    Last Post: 31-08-2008, 08:22
  2. Что быстрее: 54g only или Performance?
    By el-pashteto in forum Russian Discussion - РУССКИЙ (RU)
    Replies: 8
    Last Post: 05-12-2007, 21:27
  3. Printing in shell
    By thE_29 in forum WL-500gP Q&A
    Replies: 17
    Last Post: 19-10-2007, 13:40

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •