LINUX.ORG.RU

Обойти ожидание ввода


0

0

Доброго времени суток!

Вопрос наверно глупый, но надо сделать следующее:

Последовательно запускаются 2 команды с параметрами, вторая - обязательно после первой, а первая должна для успешного выполнения получить с клавиатуры последовательность символов (пароль). Как это увязать по -человечески?

Если первая читает стандартный ввод, а не выпендривается как ссш, то :

echo pass | firtscommand

wfrr ★★☆
()
Ответ на: комментарий от Mousehouse

тогда таким образом ты можешь только написать в еще не появившися шелл, то бишь сначала оно спросит пароль а потом выполнит то что ввел echo.

Хотя, вот в мене есть штука:

SSH_ASKPASS If ssh needs a passphrase, it will read the passphrase from the current terminal if it was run from a terminal.
If ssh does not have a terminal associated with it but DISPLAY and SSH_ASKPASS are set, it will execute the
program specified by SSH_ASKPASS and open an X11 window to read the passphrase. This is particularly useful
when calling ssh from a .xsession or related script. (Note that on some machines it may be necessary to redi‐
rect the input from /dev/null to make this work.)

по идее это команда спрашивающая пароль, недьзяли наваять скрипт который возвращяет пароль (как оно там нужно) ?

wfrr ★★☆
()
Ответ на: комментарий от Mousehouse

Для ssh принято настраивать авторизацию по ключу (без запроса пароля), а так вроде может помочь expect. Или я не понял что нужно сделать?

mky ★★★★★
()
Ответ на: комментарий от mky

спасибо всем, expect помог.
авторизация по ключам - не совсем то, что было нужно.

Mousehouse
() автор топика
Ответ на: комментарий от Mousehouse

> как раз-таки, это ссш и есть:)

тогда вместо '|' поможет 'cat >'

Lumi ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.