|
|
|
скачать файл
|
|||
|---|---|---|---|
|
#18+
Добрый день! Подскажите пожалуйста, требуется стянуть конфигурационной файл с оборудования. Пробую делать это так Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. результат Permission denied, please try again. Permission denied, please try again. Permission denied (publickey,password,keyboard-interactive). проблема в том что после соединения, в консоли запрашивается пароль root@ubuntu:# scp -p admin@172.30.9.3:/etc/cfg.or /usr/local/ admin@172.30.9.3's password: Permission denied, please try again. как пароль послать чтобы скачать файл? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2013, 12:14:14 |
|
||
|
скачать файл
|
|||
|---|---|---|---|
|
#18+
Пишите пароль в p.getOutputStream(); Используйте ProcessBuilder. Используйте redirect для потока ошибок, чтобы не дублировать чтение InputStream и ErrorStream Используйте redirect потоков в System.out (только в Java 7, кажется), чтобы не нужно было чтение и запись реализовывать в отдельных нитях (Thread). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2013, 12:23:40 |
|
||
|
скачать файл
|
|||
|---|---|---|---|
|
#18+
Там кажется через ключик -p можно пароль передать. Вот тут пишут http://serverfault.com/questions/318474/how-to-pass-password-to-scp-command-used-in-bash-script ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2013, 13:25:06 |
|
||
|
скачать файл
|
|||
|---|---|---|---|
|
#18+
А ещё не понятно, почему бы и не взять pure Java реализацию http://www.jcraft.com/jsch/examples/ScpFrom.java.html вместо запуска OS команды? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2013, 13:29:17 |
|
||
|
скачать файл
|
|||
|---|---|---|---|
|
#18+
Спасибо! использовал sshpass Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. как использовать getOutputStream() не понял. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2013, 15:22:45 |
|
||
|
скачать файл
|
|||
|---|---|---|---|
|
#18+
Ping333, почему не анализируешь код возврата? Как ты узнаешь что scp (или любой другой процесс) отработал на ОК ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2013, 15:31:16 |
|
||
|
скачать файл
|
|||
|---|---|---|---|
|
#18+
Не мое, наверное, дело, но... Хорошее оборудование однако - ОСь работает, файловая система есть.. А стало быть наверняка есть SNMP-агент, с помощью которого и конфигурячить можно (что является более правильной практикой, так как мы не завязываемся на аутентификацию в ОС). Я просто баловался одно время управлялками "оборудованием", вот решил упомянуть и такой возможный путь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2013, 15:33:22 |
|
||
|
скачать файл
|
|||
|---|---|---|---|
|
#18+
Ping333как использовать getOutputStream() не понял. p.getOutputStream().write(password); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2013, 15:40:26 |
|
||
|
скачать файл
|
|||
|---|---|---|---|
|
#18+
mayton, mesier, Спасибо, эта часть кода заключена в try, исключения ловлю. Про оборудование, SNMP есть, хорошая идея. Но мне нужно стянуть файл конфигурации, поправить в нем три строки, и залить обратно, с snmp думаю будет тяжелее.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2013, 18:56:25 |
|
||
|
скачать файл
|
|||
|---|---|---|---|
|
#18+
Ping333, Почему тяжелее? SNMP-агенты как правило для этого и предназначены. Просто надо разобраться с OID-ами для данного девайса, с каким мы что берём, а с каким чего устанавливаем.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2013, 19:05:16 |
|
||
|
скачать файл
|
|||
|---|---|---|---|
|
#18+
Ping333mayton, mesier, Спасибо, эта часть кода заключена в try, исключения ловлю. Про оборудование, SNMP есть, хорошая идея. Но мне нужно стянуть файл конфигурации, поправить в нем три строки, и залить обратно, с snmp думаю будет тяжелее.. try-catch здесь непричём. Он не ловит return codes. Правильнее сказать он не знает смысл этих кодов т.к. они варьируются для каждой утилиты. Есть такая старая добрая unix-традиция. Все (почти) экзешники (процессы) - это функции которые возвращают коды ошибок. Это целове число. Ты после завершения процесса считываешь это целое число и принимаешь решение о том как прошла работа. Через .waitFor() или еще как-нибудь. В bash для этого используется $ echo $? Пример таблицы кодов для SCP здесь http://support.attachmate.com/techdocs/2116.html Например 0 - означает Operation was successful. В качестве эсперимента - укажи несуществующий хост admin@xxx.xxx.xxx.xxx и посмотри какой код будет возвращён. STDERR - это конечно тоже круто но его парсить труднее да и вообще не факт что он обязательно будет содержать какой-то полезный выхлоп. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2013, 19:16:34 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=38446866&tid=2128224]: |
0ms |
get settings: |
8ms |
get forum list: |
27ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
281ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
30ms |
get tp. blocked users: |
1ms |
| others: | 222ms |
| total: | 589ms |

| 0 / 0 |
