Fórum Root.cz
Hlavní témata => Software => Téma založeno: scientific 31. 08. 2020, 11:58:08
-
Ahoj všem, prosím o zřejmě základní radu, nenapadá mě, jak si s tím poradit.
Mám příkaz:
openssl s_client -connect domena.example:443 2>/dev/null | openssl x509 -noout -modulus | openssl md5 | grep stdin
Problém je, že tento příkaz zablokuje CLI, jako kdyby čekal na vstup, ale nečeká. Pomůže stisknutí např. klávesy [ENTER], což zpracování odmrzne a výsledek se vypíše ihned. Bez stisknutí klávesy [ENTER], se na vápis výstupu čeká až několik minut.
Jak příkaz formulovat správně, aby nedocházelo ke zbytečnému delay?
Děkuji za tipy.
-
Čeho se snažíte dosáhnout?
-
Cíl: Toho, aby se stdin vypsal ihned a uvolnil CLI pro zadání dalšího příkazu.
[scientific@centos~]$ openssl s_client -connect google.com:443 2>/dev/null | openssl x509 -noout -modulus | openssl md5 | grep stdin
(stdin)= 70f9111e743df2adac0035ca477b12ae
[scientific@centos~]$ # můžu hned zadat další příkaz
Realita: stdin se sice vypíše hned, ale nadále zbytečně blokuje CLI, i když je příkaz již dokonán.
[scientific@centos~]$ openssl s_client -connect google.com:443 2>/dev/null | openssl x509 -noout -modulus | openssl md5 | grep stdin
(stdin)= 70f9111e743df2adac0035ca477b12ae
#cekám a čekám, z nudy zkouším párkrát stisknout enter
^C # ctrl + c, už mě nebaví čekat na nic, protože vše co jsem chtěl vědět (stdin), už znám, nechce se mi čekat, než mi to umožní pokračovat v práci
[scientific@centos~]$
-
To mi pořád nevysvětluje, jaké podivnosti se tou zvláštní pajpou snažíte dosáhnout. Protože podle mě nemůže fungovat a nepodařilo se mi odhadnout, co je cílem.
-
echo | openssl ...
-
Cíl: Toho, aby se stdin vypsal ihned a uvolnil CLI pro zadání dalšího příkazu.
[scientific@centos~]$ openssl s_client -connect google.com:443 2>/dev/null | openssl x509 -noout -modulus | openssl md5 | grep stdin
(stdin)= 70f9111e743df2adac0035ca477b12ae
[scientific@centos~]$ # můžu hned zadat další příkaz
Soude podle konstrukce, tak ten HTTPS server ocekava HTTP dotaz ... takze spojeni drzi otevrene.
Poslete tam GET, nebo alespon HEAD dotaz, ne?
-
@tecka super díky, perfektní
@RDa díky za vysvětlení příčiny problému. Myslel jsem, že openssl sám ve výchozí podobě používá HEAD.
-
@RDa díky za vysvětlení příčiny problému. Myslel jsem, že openssl sám ve výchozí podobě používá HEAD.
To ne, protože openssl je obecný klient a dá se použít úplně stejně třeba pro připojení k POP3s nebo FTPS serveru a co ten jako bude dělat s HTTP HEAD. openssl HTTP vůbec neumí, co se protokolů týče, tak umí protokolové STARTTLS, ale pak pochopitelně taky čeká na další příkazy.