Portál AbcLinuxu, 9. května 2025 18:29

Dotaz: SSH micha dohromady STDOUT a STDERR vzdalenyho prikazu pri alokovanym tty

12.7.2012 09:28 Harvie.CZ
SSH micha dohromady STDOUT a STDERR vzdalenyho prikazu pri alokovanym tty
Přečteno: 738×
Odpovědět | Admin
Resim zapeklity problem... potrebuju na vzdalenym stroji pres ssh ze skriptu pustit prikaz vyzadujici tty a zaroven bych rad odlisil STDOUT a STDERR...

problem je, ze kdyz zavolam SSH klienta s parametrem -t (resp. -tt) tak smicha STDERR vzdalenyho programu do STDOUTu a ja je nemuzu odlisit...

tady je demonstrace, kde je STDERR zvyrazneno pomoci

2> >(while read i; do echo STDERR: "$i"; done)

[harvie@anemophobia ~]$ ssh harvie.cz ls /neexistuje
STDERR: ls: nelze přistoupit k /neexistuje: Adresář nebo soubor neexistuje

[harvie@anemophobia ~]$ ssh -tt harvie.cz ls /neexistuje
ls: nelze přistoupit k /neexistuje: Adresář nebo soubor neexistuje
STDERR: Connection to harvie.cz closed.
jak vidite, tak ve druhym pripade se do STDERR vypisuje hlaska SSH klienta misto chybovy hlasky volanyho programu. problem je, ze nektery veci bez -tt nefungujou (typicky screen, sudo, su,...). Potrebuju to na stroje, kde nemuzu mit normalni rootovskej shell...

zkousel sem parametr -q, ale zrejme v tom neni problem... workaround je samozrejme veskerej vystup otagovat (jako jsem to delal v ukazce) jestli je STDOUT nebo STDERR a pak to zpetne dekodovat... to se mi ale uplne nelibi, protoze to je zavisly na bashi...

Podle vseho se to netyka jen OpenSSH.

nekdo nejaky reseni? Dik.

Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

12.7.2012 17:21 NN
Rozbalit Rozbalit vše Re: SSH micha dohromady STDOUT a STDERR vzdalenyho prikazu pri alokovanym tty
Odpovědět | | Sbalit | Link | Blokovat | Admin
ssh -tt harvie.cz ls /neexistuje 2> /dev/null
?

NN
13.7.2012 01:17 Harvie.CZ
Rozbalit Rozbalit vše Re: SSH micha dohromady STDOUT a STDERR vzdalenyho prikazu pri alokovanym tty
zahazuju STDERR
[harvie@anemophobia central]$ ssh -tt harvie.cz ls /neexistuje 2> /dev/null
ls: nelze přistoupit k /neexistuje: Adresář nebo soubor neexistuje
[harvie@anemophobia central]$ ssh harvie.cz ls /neexistuje 2> /dev/null
zahazuju STDOUT
[harvie@anemophobia central]$ ssh -tt harvie.cz ls /neexistuje > /dev/null
Connection to harvie.cz closed.
[harvie@anemophobia central]$ ssh harvie.cz ls /neexistuje > /dev/null
ls: nelze přistoupit k /neexistuje: Adresář nebo soubor neexistuje
Konqui avatar 14.7.2012 08:40 Konqui | skóre: 18 | blog: Konqui | Rožnov pod Radhoštěm
Rozbalit Rozbalit vše Re: SSH micha dohromady STDOUT a STDERR vzdalenyho prikazu pri alokovanym tty
Obal to do uvozovek :-)

ssh harvie.cz "ls /neexistuje 2> /dev/null"
Open/save dialogy z GTK+ jsou nejkřiklavější ukázkou toho nejdebilnějšího software, co vůbec může existovat.
17.7.2012 16:05 tom
Rozbalit Rozbalit vše Re: SSH micha dohromady STDOUT a STDERR vzdalenyho prikazu pri alokovanym tty
Odpovědět | | Sbalit | Link | Blokovat | Admin
Poslete si stderr to pojmenovane roury a tu si ctete pomoci druheho ssh. Pokud pouzijete multisocket, tak se bude delat pouze jedno spojeni na server.
19.7.2012 16:36 Ales Hakl
Rozbalit Rozbalit vše Re: SSH micha dohromady STDOUT a STDERR vzdalenyho prikazu pri alokovanym tty
Odpovědět | | Sbalit | Link | Blokovat | Admin
Tohle neni chyba, ale prosta vlastnost toho, ze -t znamena "pouzij PTY". stdin a stdout pomicha fakticky uz aplikace co spoustite, protoze pty je z te uzivatelske strany jedno jedine zarizeni a tak neni moc jak stdin a stdout rozlisovat. Dava to smysl, seriovy port taky ma jenom draty TxD a RxD a nema zadne RxDSTDERR, tak tezko SW emulace serioveho portu bude neco takoveho umet.

Resenim tohohle je se s tim srovnat, jaky smysl ma poustet screen bez terminalu mi unika (screen vam stejne stderr a stdout "pomicha", protoze interne dela uplne presne totez). Sudo a su nefunguje jenom tehdy pokud chteji zadat heslo (resp. pokud PAM chce nejak s nekym interaktivne interreagovat), coz v pripade sudo je vylozene o konfiguraci.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.