Как я могу принудительно выйти из openssl s_client -connect?

Я пишу скрипт, который вызывает команду.

openssl s_client -showcerts -connect server:9999 > out.pem -key key.pem -cert cert.pem -pass pass:password

Но он отображает вывод, я попытался добавить -quiet, но безуспешно. Есть ли способ получить его, чтобы он не сообщал о консоли. Если я запускаю команду в терминале, мне нужно набрать выход, чтобы выйти из соединения.

Редактировать

Я хочу, чтобы это автоматически выходило из моего сценария. Есть ли способ сделать это?


person Matt    schedule 01.03.2011    source источник
comment
Проблема в том, что есть вывод на консоль или вызов не завершается автоматически?   -  person Jumbogram    schedule 02.03.2011
comment
Он не вызывает выход автоматически, есть ли способ сделать это?   -  person Matt    schedule 02.03.2011
comment
Я предполагаю, что openssl s_client выполняет свои пунктирные команды по порядку (в данном случае сначала -showcerts, затем -connect X). Я искал -quit, чтобы добавить в конец, но не нашел в справке.   -  person halfer    schedule 22.02.2018


Ответы (2)


Вывод, возможно, отправляется на стандартный вывод (а не на стандартный вывод). Это должно работать, если вы используете >& для перенаправления.

person Mark Wilkins    schedule 02.03.2011
comment
Хорошо, это остановило вывод, но есть ли способ сделать его автоматическим? - person Matt; 02.03.2011
comment
@Matt: я не уверен в этом, и в настоящее время у меня нет необходимых сертификатов для его проверки. Но, возможно, вы можете изменить команду для перенаправления ввода из файла с помощью соответствующей команды: < inputresponse.txt - person Mark Wilkins; 02.03.2011
comment
Это может сработать, как называется эта команда? Можно ли использовать жало вместо напильника? - person Matt; 02.03.2011
comment
@Matt: это может просто работать, если входной файл пуст. Или, если строка начинается с буквы Q. - person Mark Wilkins; 02.03.2011

Для части автоматического выхода вы можете сделать это:

echo | openssl s_client -connect www.google.com:443
person Peter Ha    schedule 17.02.2015
comment
Кажется, это работает очень хорошо. Кто-нибудь знает, почему это работает? Какой трюк с оболочкой он использует? - person halfer; 22.02.2018
comment
Это не трюк со снарядом. openssl s_client ожидает ввода данных пользователем. Ожидается CR/LF (клавиша Enter). Эхо, переданное в openssl, имитирует это. Получив это, openssl уходит. - person Cheeso; 19.06.2018
comment
Вы также можете openssl s_client -connect www.google.com:443 </dev/null получить тот же результат - person Seki; 16.01.2019