oiv_1968 Posted January 2, 2018 Share Posted January 2, 2018 Доброго времени суток! С Новым Годом!!! Удачи во всём и крепкого здоровья!!! Имеется вот такой скрипт: #!/bin/bash # user="www-data" ip="192.168.0.240" export DISPLAY=:0; export SSH_ASKPASS=./askpass.sh; #export DISPLAY=:0; export SSH_ASKPASS="www-data"; setsid ssh -o StrictHostKeyChecking=no -T $user@$ip << EOF 2>&1 #ssh -o StrictHostKeyChecking=no -T $user@$ip << EOF 2>&1 ls df EOF Это доступ из одного устройства (UC-7112-Lx-plus/IA240) по SSH к другому. Тут после регистрации одно устройство выполняет команды "ls" и "df' на другом устройстве как пример... и отключается. Предполагается заставить устройство компилировать исходник для самого себя на обычной машине и скачивать себе исполняемый файл... ведь я так и не смог установить GCC на устройство... НО: на MOXA нет возможности выполнить "setsid"... он это не умеет. Прошу помощи... как обойти сие ограничение? Либо поставить на устройство GCC, либо реализовать на нём "setsid" Заранее спасибо. Link to comment
oiv_1968 Posted January 2, 2018 Author Share Posted January 2, 2018 А вот это: #!/bin/bash # user="www-data" ip="192.168.0.240" _sshcmd="" str="" export SSH_ASKPASS=./askpass.sh function sshcmdwork() { str=$( setsid ssh -o StrictHostKeyChecking=no -T $user@$ip << EOF $_sshcmd EOF ) } _sshcmd="ls" sshcmdwork echo ":$str" _sshcmd="df" sshcmdwork echo ":$str" _sshcmd="free" sshcmdwork echo ":$str" тест, который предположительно станет заготовкой. Испытано на PC с Debian. Поучает доступ к UC-7112-LX-plus, выполняет команды на нём и выводит результат в переменную "str".на PC Link to comment
oiv_1968 Posted January 2, 2018 Author Share Posted January 2, 2018 И вот это (добавить в ранее указанный скрипт): #копирование директории на удалённый хост function scpdirtoremote() { setsid scp -r $_localdir $user@$ip:$_remotedir } #копирование директории на локальный хост function scpdirtolocal() { setsid scp -r $user@$ip:$_remotedir $_localdir } для работы с каталогами как на локалке, та и на удалёнке... таким образом можно автоматом заливать иходники, компилировать и забирать исполняемый файл. вот только как быть с SETSID? Link to comment
oiv_1968 Posted January 5, 2018 Author Share Posted January 5, 2018 С НОВЫМ ГОДОМ!! Ну вот!!! С НОВЫМ ГОДОМ!!! Вот беда... как водки попью, так на подвиги тянет. Раньше на другие, а сейчас на эти Link to comment
oiv_1968 Posted January 9, 2018 Author Share Posted January 9, 2018 С НОВЫМ ГОДОМ!! Так есть ли решение? Link to comment
oiv_1968 Posted March 16, 2021 Author Share Posted March 16, 2021 Доброго времени суток! Решение найдено... кривое но работает: 1) На некой машине с Linux имеется компилятор для устройства и некий "умный" скрипт, который запускается при включении. На ней же и доступный для устройства NFS. 2) На устройстве примонтирована директория NFS ттой самой машины. Устройство производит некие(соответствующие) действия и сохраняет командный файл. 3) "Умный" скрипт на машине Linux найдя этот командный файл что-то компилирует. 4) Устройство запускает результат той компиляции, даже не загружая себе... NFS ведь общий как для устройства, так и для машины с Linux. Всё это сейчас активно использую. Спасибо NFS!!!! Link to comment
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now