![]() |
Модераторы: xvr |
![]() ![]() ![]() |
|
IoganeGambaPuti |
|
||||
![]() Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 13.1.2009 Репутация: нет Всего: нет |
Здравствуйте!Следующим вызовом,я пытаюсь выполнить ssh:
вывод на консоль следующий:
Т.е. выполнение exec упорно игнорирует ввод пароля и соединения по ssh не получается,с файла тоже считывать не хочет.Как можно передать пароль в ssh,чтобы соединение установилось.Ничего придумать не могу,хелп. |
||||
|
|||||
MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 84 Всего: 207 |
IoganeGambaPuti,
протрассируй программу через strace и поймешь в чем дело
-------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
xvr |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 20 Всего: 223 |
Переходите на public key authentication. Пароль в ssh вы врядли засуните
![]() |
|||
|
||||
block |
|
|||
Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 20.12.2006 Репутация: 1 Всего: 1 |
интересно, а как это expect делает?
|
|||
|
||||
xvr |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 20 Всего: 223 |
Судя по всему алокирует терминал, через который и общается с запущенными программами Так в ssh пароль засунуть можно, но public key aut. гораздо проще (да и с какой то стороны надежнее) |
|||
|
||||
block |
|
|||
Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 20.12.2006 Репутация: 1 Всего: 1 |
xvr так никто и не спорит.
автору топика: считается что наиболее удобный способ взаимодействия с интерактивными программами, это имитация для них терминала. в expect (при установке потянет тикль) есть libexpect (либа которую можно использовать при написании программ на C/C++). есть и попроще http://www.sourceforge.net/projects/empty которая позволяет запускать интерактивные программы и вести с ними диалог посредством fifo-файлов, без тикля и прочего. |
|||
|
||||
IoganeGambaPuti |
|
||||
![]() Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 13.1.2009 Репутация: нет Всего: нет |
MAKCim,
strace.log :
Если я правильно понял ,в поле пароля читается по символу.В итоге пароль это:'\n'. /***********************************************************************************************************************/ block,xvr: Спасибо,это то что надо.Задача у меня тривиальная,поэтому я ограничился инструментом empty.Вот только,что не понятно:когда устанавливаю ssh соединения вручную в tty,оно устанавливается,но команды мои игнорирует напрочь.А вот скрипт,который лежит в примерах,отрабатывает на ура ,и я даже полазил в Xsession на компьютере друга.
Это сообщение отредактировал(а) IoganeGambaPuti - 7.4.2009, 18:53 |
||||
|
|||||
xvr |
|
||||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 20 Всего: 223 |
По символу, но все из них, а не только последний. Где open, который вернул 6й дескриптор?
Разумеется, empty делает свой терминал и подсовывает его ssh. Комманды, которые вы пытаетесь ввести, попадают в исходный терминал, и до ssh просто не доходят. |
||||||
|
|||||||
IoganeGambaPuti |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 13.1.2009 Репутация: нет Всего: нет |
xvr,я их явно посылаю в empty терминал :
|
|||
|
||||
xvr |
|
||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 20 Всего: 223 |
Напишите целиком ваш скрипт, что то видимо упущено ![]() |
||||
|
|||||
MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 84 Всего: 207 |
приведите весь лог -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
IoganeGambaPuti |
|
||||
![]() Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 13.1.2009 Репутация: нет Всего: нет |
xvr,
Сессия ssh устанавливается и весит в процессах,но на команды не реагирует,например,
никакого вывода на консоль не даёт.А если выполнить скрипт (я его чуть выше приводил),то все команды нормально отрабатывают.И who am и id и startkde. .... MAKCim, извините,я его уже затёр.Но понятно,что было плохой идеей вводить пароль из файла подменяя поток ввода. |
||||
|
|||||
xvr |
|
||||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 20 Всего: 223 |
А на консоль и не должно, ищите в /tmp/out.fifo Или через empty -r (или как его там, нету под руками списка опций) Или через cat empty.log |
||||||
|
|||||||
![]() ![]() ![]() |
Правила форума "С/С++: Программирование под Unix/Linux" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, xvr. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Программирование под Unix/Linux | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |