|
Работа с сервером по SSH из java
|
|||
---|---|---|---|
#18+
как пример https://qarus.ru/11526478-komandy-obolochki-jsch-s-x11forwarding-povtornoe-ispolzovanie-kanala-i-zapusk-novoj-komandy/ есть работоспособный вариант может выполнять несколько команд за раз. но проблема в том , чтоб после одной команды дождаться ответа , обработать его и выполнить ещё команду ... |
|||
:
Нравится:
Не нравится:
|
|||
17.06.2020, 20:44 |
|
Работа с сервером по SSH из java
|
|||
---|---|---|---|
#18+
Вопрос-то в чём? Требуется многабукав или что? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.06.2020, 21:06 |
|
Работа с сервером по SSH из java
|
|||
---|---|---|---|
#18+
Basil A. Sidorov Вопрос-то в чём? Требуется многабукав или что? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.06.2020, 22:26 |
|
Работа с сервером по SSH из java
|
|||
---|---|---|---|
#18+
lleming делаю так для наглядности Код: java 1. 2. 3. 4. 5. 6. 7. 8.
получаю Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
т.е. никакого анализа после выполнения одной команды ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2020, 13:52 |
|
Работа с сервером по SSH из java
|
|||
---|---|---|---|
#18+
команды выполняются по очереди в одной сессии, но вывод один в конце ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2020, 13:52 |
|
Работа с сервером по SSH из java
|
|||
---|---|---|---|
#18+
Создать отдельный поток, который будет вычитывать ответ(ы) и (как-то) синхронизировать его с потоком команд вы, конечно, уже попробовали? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2020, 15:15 |
|
Работа с сервером по SSH из java
|
|||
---|---|---|---|
#18+
Basil A. Sidorov Создать отдельный поток, который будет вычитывать ответ(ы) и (как-то) синхронизировать его с потоком команд вы, конечно, уже попробовали? не пробовал. даже не понимаю с какой стороны подойти с данном случае... ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2020, 15:42 |
|
Работа с сервером по SSH из java
|
|||
---|---|---|---|
#18+
может кто другие либы пользовал? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2020, 15:46 |
|
Работа с сервером по SSH из java
|
|||
---|---|---|---|
#18+
вадя, попробуй сделать bash-script который агрегирует всю логику и собирает коды ошибок в 1 текстовый ответ. И вызывай его. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2020, 15:47 |
|
Работа с сервером по SSH из java
|
|||
---|---|---|---|
#18+
mayton вадя, попробуй сделать bash-script который агрегирует всю логику и собирает коды ошибок в 1 текстовый ответ. И вызывай его. это d-link роутер ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2020, 15:51 |
|
Работа с сервером по SSH из java
|
|||
---|---|---|---|
#18+
вадя Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
Судя по логу там какая-то сильная буферизация идет. Сделай flush между командами и дождись ответа от предыдущей. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2020, 16:02 |
|
Работа с сервером по SSH из java
|
|||
---|---|---|---|
#18+
mayton вадя Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
Судя по логу там какая-то сильная буферизация идет. Сделай flush между командами и дождись ответа от предыдущей. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2020, 16:16 |
|
Работа с сервером по SSH из java
|
|||
---|---|---|---|
#18+
А если каждый раз делать close? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2020, 16:27 |
|
Работа с сервером по SSH из java
|
|||
---|---|---|---|
#18+
mayton А если каждый раз делать close? Код: plaintext 1. 2. 3. 4. 5. 6.
ЗЫ кто может расшифровать вот это [?25l[?25h не понятно откуда и что обозначает ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2020, 17:33 |
|
Работа с сервером по SSH из java
|
|||
---|---|---|---|
#18+
вадя, а ты пробовал тоже самое сделать не через java а через любой ssh клиент? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2020, 18:07 |
|
Работа с сервером по SSH из java
|
|||
---|---|---|---|
#18+
mayton вадя, а ты пробовал тоже самое сделать не через java а через любой ssh клиент? в доках все описано как и что. но требуется автоматизация ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2020, 18:46 |
|
Работа с сервером по SSH из java
|
|||
---|---|---|---|
#18+
вадя mayton вадя, а ты пробовал тоже самое сделать не через java а через любой ssh клиент? в доках все описано как и что. но требуется автоматизация Есть еще предположение что ты лупишь не тот перевод строки. Он может быть платформо-зависим в java - но хардкожен для Dlink. https://ru.wikipedia.org/wiki/Перевод_строки Попробуй варианты Код: java 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2020, 18:55 |
|
Работа с сервером по SSH из java
|
|||
---|---|---|---|
#18+
вадя mayton вадя, а ты пробовал тоже самое сделать не через java а через любой ssh клиент? в доках все описано как и что. но требуется автоматизация Скрипт и есть автоматизация. Написал, скопировал, вставил. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2020, 18:57 |
|
Работа с сервером по SSH из java
|
|||
---|---|---|---|
#18+
Зачем из 30 строк скрипта ОДНОГО делать 30 отдельных файликов команд? Зачем построчно отправлять? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2020, 18:59 |
|
Работа с сервером по SSH из java
|
|||
---|---|---|---|
#18+
PetroNotC Sharp Скрипт и есть автоматизация. Написал, скопировал, вставил. в той версии софта что стоит загрузка ещё не предусмотрена возможности работы команд в скрипте ограничены - нет возможности условий и всего прочего. нужно после одной из команд дождаться её завершения и выполнить следующую. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2020, 19:33 |
|
Работа с сервером по SSH из java
|
|||
---|---|---|---|
#18+
mayton Код: java 1. 2. 3. 4. 5.
результат тот же PetroNotC Sharp Зачем из 30 строк скрипта ОДНОГО делать 30 отдельных файликов команд? Зачем построчно отправлять? Код: java 1. 2. 3. 4.
выполнить такой набор Код: java 1. 2. 3. 4. 5.
но это не снимает проблемы с анализом результата работы команды и отправки следующей в этой же сессии ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2020, 19:44 |
|
Работа с сервером по SSH из java
|
|||
---|---|---|---|
#18+
Попробуй еще после каждой команды делать флаш и вычитывать весь input. Код: java 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2020, 19:49 |
|
Работа с сервером по SSH из java
|
|||
---|---|---|---|
#18+
mayton Попробуй еще после каждой команды делать флаш и вычитывать весь input. Код: java 1. 2. 3. 4.
идея абсолютно правильная!!! и я её делал..... но вот только не таким кодом а вот таким Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
от сюда http://www.jcraft.com/jsch/examples/Exec.java.html я не знаю кто первоначальный автор, но это идёт во многих примерах.... как основа может использоваться такой вариант Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53.
... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2020, 22:12 |
|
Работа с сервером по SSH из java
|
|||
---|---|---|---|
#18+
Ну дык... работает? Или нет? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2020, 22:26 |
|
Работа с сервером по SSH из java
|
|||
---|---|---|---|
#18+
mayton Ну дык... работает? Или нет? счас подключу бот и юзеры (из списка разрешенных) смогут подключаться по рдп с любого ip и роутер будет фильтровать по ip ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2020, 22:49 |
|
Работа с сервером по SSH из java
|
|||
---|---|---|---|
#18+
вадя PetroNotC Sharp Скрипт и есть автоматизация. Написал, скопировал, вставил. в той версии софта что стоит загрузка ещё не предусмотрена возможности работы команд в скрипте ограничены - нет возможности условий и всего прочего. нужно после одной из команд дождаться её завершения и выполнить следующую. Не понял кто тут виновен и кто не предусмотрел если в ssh отправляется просто текс на сервер. Там он выполняется. Если текст отправить 30 команд одной строкой, ls cd ~ ls То там эти 3 команды разом и выполнятся. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2020, 22:52 |
|
Работа с сервером по SSH из java
|
|||
---|---|---|---|
#18+
Согласно концепции unix-shell команды - это предикаты которые возвращают статус. И их можно исполнять строкой типа Код: java 1.
При этом они исполняются слева направо пока результат true. Ну ... логика как в сях. Ну если "OR" добавить вместо "AND" то соотв будут исполнены все. Если DLink прошит внури как mini-unix то он должен такое понимать. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2020, 23:05 |
|
Работа с сервером по SSH из java
|
|||
---|---|---|---|
#18+
PetroNotC Sharp Не понял кто тут виновен и кто не предусмотрел если в ssh отправляется просто текс на сервер. Там он выполняется. Если текст отправить 30 команд одной строкой, ls cd ~ ls То там эти 3 команды разом и выполнятся. но для данного девайса есть некоторые тонкости, связанные с сессией. большинство примеров использования данной либы ориентированы на примитивные ситуации и в инете куча вопросов как выполнить несколько команд в "одно лицо" а mayton подсказал идею, которую я не встречал при гуглении, хотя она лежит на поверхности. и только требует хорошей правильной реализации, чего нет в поиске ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2020, 23:08 |
|
Работа с сервером по SSH из java
|
|||
---|---|---|---|
#18+
Проверь еще так Код: java 1. 2.
Если возвращает 0 - значит статусы работают и последняя команда выполнилась ОК. Если возвращает не ноль - то команда не выполнилась успешно. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2020, 23:21 |
|
Работа с сервером по SSH из java
|
|||
---|---|---|---|
#18+
mayton Если DLink прошит внури как mini-unix то он должен такое понимать. в доках про такое $ ls && cd ~ && ls не говорится да в общем это и не надо для линукса чел то ж хотел нечто подобное как у меня https://issue.life/questions/52390519 но он запнулся на Код: java 1. 2. 3. 4.
у меня его вариант не мог выйти из while проблема в сессиях в том что при открытии сессии открывается всегда одна папка, если все сделать типа так $ ls && cd ~ && ls то это нормально, но не всегда так можно ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2020, 23:39 |
|
Работа с сервером по SSH из java
|
|||
---|---|---|---|
#18+
mayton Если возвращает 0 - значит статусы работают и последняя команда выполнилась ОК. Если возвращает не ноль - то команда не выполнилась успешно Код: plaintext 1. 2.
Код: plaintext 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2020, 23:46 |
|
|
start [/forum/topic.php?all=1&fid=59&tid=2120774]: |
0ms |
get settings: |
12ms |
get forum list: |
16ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
56ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
61ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 185ms |
0 / 0 |