Parandus: Pseudoterminali ei eraldata, kuna stdin pole terminal



Proovige Meie Instrumenti Probleemide Kõrvaldamiseks

Enamasti kuvatakse segane tõrge „pseudoterminali ei eraldata, kuna stdin pole terminal”, ainult siis, kui käivitate skriptilt mingisugust SSH-käsku. Kui käitate sama käsku käsurealt, võib see töötada täiesti hästi.



Enne kui lähete edasi, veenduge, et olete oma avaliku võtme SSH-agendile lisanud, ja proovige seejärel ssh uuesti kasutada. Teil võis just võtmest puudu olla. Teiselt poolt, kui see ei toimi, peate oma skriptis tegema väikese tõrkeotsingu.



1. meetod: pseudo-tty jaotuse sundimine ja keelamine

Seal on paar käsureavalikut, mis võivad probleemi teie jaoks kiiresti lahendada. Pseudoterminalide sundimise sundimiseks proovige ssh -t -t -R, millele järgneb ülejäänud osa, millega proovisite ühendust luua. Oletame näiteks, et kasutasite oma saidil example.com oma kontole sisselogimiseks ssh -p 80 appuals@ssh.example.com, mis on muidugi näite dokumentide jaoks, mida pole olemas.



Proovige joosta nt. ssh -t -t -R -p 80 appuals@ssh.example.com ja vaadake, kas see probleemi lahendab. Süsteemi edukaks sisselogimiseks peate muidugi nime asendama oma tegeliku konto ja hosti nimega. See sunnib terminali eraldama, nii et te ei peaks nägema, et pseudoterminali ei eraldata, kuna stdin pole terminali viga.

Teisest küljest võite lihtsalt saada pideva tõrketeate. Mõned kasutajad on märkinud, et seda võib pidada lõbusaks.

See on kindlasti masendav, hoolimata sellest, nii et kasutage protsessi tapmiseks Ctrl + C.



pseudoterminal

Võite proovida kasutada ainult ühte -t ​​lülitit või arvu suurendada. Kui see ei aita, siis asendage kõik käsulised -t lülitid käsus -T lülititega, nt ssh -T -R -p 80 appuals@ssh.example.com ja vaadake, kas see töötab.

See meetod keelab kogu pseudoterminali eraldamise protsessi täielikult, seega võib see töötada juhtudel, kui sundimine seda ei tee. Muidugi ei tohiks see ükski probleem olla käsurealt, kuid tehke kindlasti märkus, kui leiate, milline valik töötab teie skriptilt, et saaksite seda kasutada kõigis tulevastes skriptides, mida peate serverisse jõudmiseks käivitama.

Kuna käsk ssh andis neile kahele vastupidisele valikule sarnased nimed, pidage meeles, et -t sunnib pseudoterminalide eraldamist, samas kui -T keelab selle. Need valikud on tõstutundlikud ja neid on sageli vaja skriptide seestpoolt, kuna ssh vajab töötamiseks traditsioonilist TTY terminali. Loomulikult kasutaksite sel juhul oma terminaliemulaatorit.

2. meetod: sshpass'i kasutamine

Mõned inimesed võivad leida, et nende skriptid töötavad paremini käsuga sshpass, mis pole vaikimisi lisatud. Saate selle alati installida sudo apt-get install sshpass või sudo yum install sshpass abil, kui soovite seda proovida või kuna vajate seda konkreetse kasutuse jaoks.

Kui te seda veel ei kasuta, pole teil seda tõenäoliselt vaja. Sellegipoolest võite pseudoterminalide jaotamisega seotud veateadete üllatamiseks ka selles keskkonnas kasutada samu võtteid.

Näiteks kasutage sshpass -p parooli ssh -T appuals@ssh.example.com, et sundida süsteemi teie skripti seest tööle.

3. meetod: tööhalduse vigade parandamine

Mõnikord võite saada veel ühe veateate ka pärast selle parandamist. Kui saate hoiatuse, mis loeb, et tty-le pole juurdepääsu, ja siis tuletatakse teile meelde, et teie shellis pole töökontrolli, peaksite saama töötada mõnevõrra normaalselt.

Selle tõrke põhjuseks on see, et kaugserveris on midagi ebaregulaarset, mis on seotud kas csh, tcsh või võib-olla isegi Almquisti või muu kestaga. Te ei pruugi seda märganud, kuna saite muid veateateid, kuid tingimusel, et te pseudoterminalide kohta teisi ei näe, peaks olema võimalik jätkata suhteliselt nii, nagu tavaliselt.

Protsesside peatamiseks ei pruugi te sel juhul proovida kasutada klahvikombinatsiooni Ctrl + Z, kuna ei pruugi olla võimalust neid uuesti varundada. Kui kuvatakse tõrketeade, mille kohaselt väljumisel on peatatud tööd, siis ei lubata teil välja logida.

peatatud töökohti

Kasutage käske ps ja kill kõigi tööde sulgemiseks, mida ei saa sulgeda, eeldades, et teil pole selle vastu töö kaotamise vastu. Nüüd saate väljuda.

Sildid Linuxi juhised ssh 3 minutit loetud