За последние 24 часа нас посетили 18873 программиста и 1624 робота. Сейчас ищут 909 программистов ...

phpseclib0.3.6 => ssh2 => проблема

Тема в разделе "Прочие вопросы по PHP", создана пользователем whoim, 6 май 2014.

  1. whoim

    whoim Активный пользователь

    С нами с:
    30 июл 2011
    Сообщения:
    25
    Симпатии:
    0
    Наткнулся на сей замечательный инструмент и начал вовсю юзать в текущей задаче - передать из js в php и далее в bash кучу команд для установки кучки софта.

    Есть такая штука - freepbx. При ее установке юзается ./install_amp скрипт с мешком параметров.
    Все срабатывает, все устанавливается но.. обратно php скрипт НЕ возвращат результат (текстовые данные результата) и jquery ajax вылетает по таймауту..

    Никто ни с чем подобным не сталкивался? Есть мысли, куда копать? Та же строчка, запихнутая в putty, прекрасно отрабатывает и отдает консольку..

    Добавлено спустя 1 минуту 7 секунд:
    От "родного" примера скрипт php особо не отличается..
    остальные команды пролетают на ура, в том числе и "долгие" по установке других компонент

    Добавлено спустя 38 минут 22 секунды:
    вроде выкрутился.. бггг))
    Код (Text):
    1.  < /dev/null > /tmp/vmclog 2>&1 && cat /tmp/vmclog
    все на костылях..
     
  2. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    А что ты хотел? :)
    Пиши на багтрекер, чтобы фиксили, пока версия хотя бы не 1.х.х, бажни там будет полулетальная доза. Я бы вообще побоялся юзать всерьез такие вещи для управления системой.
     
  3. Ke1eth

    Ke1eth Активный пользователь

    С нами с:
    16 мар 2012
    Сообщения:
    1.073
    Симпатии:
    11
    Адрес:
    заблудилса
    О_о ужас,
    js -> php -> shell и не на вызов какой-то специальной бинари (желательно еще и чрутнутой), а для установки пакетов/управления системой, да я бы руки пообрывал бы сразу, и ухи на той голове, которая это придумала.
     
  4. whoim

    whoim Активный пользователь

    С нами с:
    30 июл 2011
    Сообщения:
    25
    Симпатии:
    0
    давайте поговорим об этом подробно?)
    Путь к загрузке данным способом специально сгенерированного скрипта-установщика я рассматривал и рассматриваю.
    В текущей JS-системе привлекательно то, что я разбиваю задачу на подпункты (коротенькие) и контролирую ПРОГРАММНО ответ по каждому пункту, и вижу его тут же автоматом.
     
  5. Ke1eth

    Ke1eth Активный пользователь

    С нами с:
    16 мар 2012
    Сообщения:
    1.073
    Симпатии:
    11
    Адрес:
    заблудилса
    Вопрос безопасности в первую очередь.
     
  6. whoim

    whoim Активный пользователь

    С нами с:
    30 июл 2011
    Сообщения:
    25
    Симпатии:
    0
    эти процессы идут только между мной и моим сервером, с точки зрения js
    а дальше они идут между моим сервером и соседним, уже по ssh
    думаете, сниф?
    или вы про доступ к скриптам? да все закрыто наглухо
     
  7. Ke1eth

    Ke1eth Активный пользователь

    С нами с:
    16 мар 2012
    Сообщения:
    1.073
    Симпатии:
    11
    Адрес:
    заблудилса
    Я сниф рассматриваю всегда, так что стоит еще шифрование навернуть сверху.
    Ибо то, что ушло в сеть, особенно по HTTP - не безопасно.
     
  8. whoim

    whoim Активный пользователь

    С нами с:
    30 июл 2011
    Сообщения:
    25
    Симпатии:
    0
    https достаточно? или искать реализации, существующие на js и php и оборачивать post?
     
  9. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Нескромный вопрос - а почему не использовать putty и дальше?
     
  10. Ke1eth

    Ke1eth Активный пользователь

    С нами с:
    16 мар 2012
    Сообщения:
    1.073
    Симпатии:
    11
    Адрес:
    заблудилса
    по хорошему: https + шифрование + подтверждение, что это действительно послано с твоей стороны, хоть токеном подписывать запросы, но надо.
    рекомендую: http://www.jcryption.org/

    З.Ы: а вообще, я лично не знаю ни одного админа, кто позволил бы сотворить подобное на сервере, за который он отвечает :)
     
  11. whoim

    whoim Активный пользователь

    С нами с:
    30 июл 2011
    Сообщения:
    25
    Симпатии:
    0
    Хорошо, спасибо! Озабочусь сегодня же

    Добавлено спустя 28 секунд:
    автоматизация, кнопка "сделать збсь"
     
  12. sobachnik

    sobachnik Старожил

    С нами с:
    20 апр 2007
    Сообщения:
    3.380
    Симпатии:
    13
    Адрес:
    Дмитров, МО
    Если делается для себя - то, наверно, можно купить дома постоянный внешний ip-адрес, а на сервере принимать запросы только с него...
     
  13. whoim

    whoim Активный пользователь

    С нами с:
    30 июл 2011
    Сообщения:
    25
    Симпатии:
    0
    тоже идея отличная, спасибо! это я прямо сейчас сделаю
     
  14. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Окей, в чем проблема кодить не на js, пробрасывая все через пых, а на родном линуксовом шеллскрипте? Он как раз и сделан для автоматизации всего и вся. Интерактивное взаимодействие с пользователем в наличии. Сам по себе язык простой как топор - за два часа изучается.
     
  15. whoim

    whoim Активный пользователь

    С нами с:
    30 июл 2011
    Сообщения:
    25
    Симпатии:
    0
    в дальнешем хочется систему, которой будет управлять менеджер. Который и слово linux то напишет с четырьмя ошибками )
    А передача технарям уже если кнопочка "сбоит".

    Ну и через веб не светятся пароли рута.. скрипт на php добывает их локально

    Добавлено спустя 59 секунд:
    сделал, работает, спасибо еще раз за идею!
    ковыряю шифрование. SSL пока отложим. Или если самоподписанный сертификат - JS ajax не будет ругатьсо?
     
  16. Ke1eth

    Ke1eth Активный пользователь

    С нами с:
    16 мар 2012
    Сообщения:
    1.073
    Симпатии:
    11
    Адрес:
    заблудилса
    Хз, спешу предположить, хочут ГУЙ.
    А например про dialog не слышали:

    Код (Text):
    1.  
    2. #!/bin/bash
    3. DIALOG=${DIALOG=dialog}
    4.  
    5. $DIALOG --title " Заголовка" --clear \
    6.         --yesno " Здесь некое описание\n (X)dialog" 10 40
    7.  
    8. case $? in
    9.     0)
    10.         echo "Жмакнул 'Да'.";;
    11.     1)
    12.         echo "Жмакнул 'Нет'.";;
    13.     255)
    14.         echo "Выпал по ESC.";;
    15. esac
    А не надо рута, надо выдавать sudo на разрешенные действия и оборачивать их в тот же диалог. Все.
     
  17. whoim

    whoim Активный пользователь

    С нами с:
    30 июл 2011
    Сообщения:
    25
    Симпатии:
    0
    тогда надо пилить полноценный term, единственный вариант - на JAVA (не js)
    с судо все понятно в принципе лет так 5 назад было) тоже можно
     
  18. Ke1eth

    Ke1eth Активный пользователь

    С нами с:
    16 мар 2012
    Сообщения:
    1.073
    Симпатии:
    11
    Адрес:
    заблудилса
    dialog + sudo и логирование действий, остальное от лукавого.
    а 3х ступенчатая архитектура, для какого-нибудь (apt-get, yum, urpmi) install mc оверкил.
     
  19. whoim

    whoim Активный пользователь

    С нами с:
    30 июл 2011
    Сообщения:
    25
    Симпатии:
    0
    сейчас часть процесса - мойсервер <=> удаленный сервер - идет по ssh
    в вашем случае она так же будет идти по ssh
    в чем разница?
     
  20. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Чую, в этой теме скоро будет заново изобретен x-server, но только работающий на пыхе.
     
  21. whoim

    whoim Активный пользователь

    С нами с:
    30 июл 2011
    Сообщения:
    25
    Симпатии:
    0
    на javascript? :D
     
  22. Ke1eth

    Ke1eth Активный пользователь

    С нами с:
    16 мар 2012
    Сообщения:
    1.073
    Симпатии:
    11
    Адрес:
    заблудилса
    Но полностью то она выглядит так:
    клиент (браузер или чего-там) <-> "мойсервер" <-> удаленный сервер.
    в случаях с putty или любым другим ssh клиентом:
    клиент <-> удаленный сервер (фил как говорится зе дифференс).

    - две "дырки" вместо одной.
    - что делать если "мойсервер", отпал? или что-то в нем не так?

    З.Ы. поизучай историю, погугли, их рождается как грибов после дождика, а мрут как мухи, ибо нафик ненужное.
     
  23. whoim

    whoim Активный пользователь

    С нами с:
    30 июл 2011
    Сообщения:
    25
    Симпатии:
    0
    чинить, срочно чинить, там столько всего на этом сервере! ))))
    Ну а вообще, в итоге то задача - обходится кнопочками в ПУ.
    Так что.. путти оставляем на редкие непонятные задачи.
    Менеджеру консоль и пароль юзера сервера не дам. Это дырка еще ширше всех остальных, вместе взятых..
     
  24. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Хуже, на пхп. А на js к нему ты изобретаешь оболочку.
     
  25. Ke1eth

    Ke1eth Активный пользователь

    С нами с:
    16 мар 2012
    Сообщения:
    1.073
    Симпатии:
    11
    Адрес:
    заблудилса
    Очерти круг задач этого менеджера, я не думаю, что он постоянно что-то ставит и удаляет.