GoTTY – bendrinkite savo Linux terminalą (TTY) kaip žiniatinklio programą
GoTTY yra paprastas GoLang pagrįstas komandų eilutės įrankis, leidžiantis bendrinti terminalą (TTY) kaip žiniatinklio programą. Komandinės eilutės įrankius paverčia žiniatinklio programomis.
Jame naudojamas „Chrome“ OS terminalo emuliatorius (hterm), kad žiniatinklio naršyklėse paleisti „JavaScript“ pagrįstą terminalą. Ir, svarbiausia, GoTTY valdo žiniatinklio lizdo serverį, kuris iš esmės perduoda išvestį iš TTY klientams ir gauna įvestį iš klientų (ty jei leidžiama įvestis iš klientų) ir ją persiunčia. į TTY.
Taip pat skaitykite: Teleconsole – bendrinkite savo Linux terminalą su draugais
Jo architektūra (hterm + žiniatinklio lizdo idėja) buvo įkvėpta Wetty programos, kuri įgalina terminalą per HTTP ir HTTPS.
Būtinos sąlygos:
Turėtumėte turėti „GoLang“ („Go Programming Language“) aplinką, įdiegtą „Linux“, kad paleistumėte „GoTTY“.
Kaip įdiegti GoTTY Linux sistemose
Jei jau turite veikiančią „GoLang“ aplinką, paleiskite toliau pateiktą komandą go get, kad ją įdiegtumėte:
go get github.com/yudai/gotty
Aukščiau pateikta komanda įdiegs GoTTY dvejetainį failą GOBIN aplinkos kintamajame, pabandykite patikrinti, ar taip:
ls $GOPATH/bin/
Kaip naudoti „GoTTY“ sistemoje „Linux“.
Norėdami jį paleisti, galite naudoti kintamąjį GOBIN env ir komandų automatinio užbaigimo funkciją, kaip nurodyta toliau:
$GOBIN/gotty
Kitu atveju paleiskite GoTTY ar bet kurią kitą Go programą neįvesdami viso dvejetainio kelio, pridėkite savo GOBIN kintamąjį prie PATH faile ~/.profile
naudodami toliau pateiktą komandą export :
export PATH="$PATH:$GOBIN"
Išsaugokite failą ir uždarykite jį. Tada gaukite failą, kad atliktumėte aukščiau nurodytus pakeitimus:
source ~/.profile
Bendra GoTTY komandų paleidimo sintaksė yra tokia:
Usage: gotty [options] <Linux command here> [<arguments...>]
Dabar paleiskite GoTTY su bet kuria komanda, pvz., komanda df, kad peržiūrėtumėte sistemos disko skaidinių vietą ir naudojimą žiniatinklio naršyklėje:
gotty df -h
Pagal numatytuosius nustatymus „GoTTY“ paleis žiniatinklio serverį prie 8080 prievado. Tada atidarykite URL: http://127.0.0.1:8080/
savo žiniatinklio naršyklėje ir pamatysite vykdomą komandą taip, tarsi ji būtų paleista jūsų terminale:
Kaip tinkinti „GoTTY“ sistemoje „Linux“.
Galite pakeisti numatytąsias parinktis ir terminalą (hterm) profilio faile ~/.gotty
. Jis įkels šį failą pagal numatytuosius nustatymus, jei toks yra.
Tai yra pagrindinis tinkinimo failas, kurį skaito gotty komandos, todėl sukurkite jį taip:
touch ~/.gotty
Ir nustatykite savo galiojančias konfigūracijos parinkčių reikšmes (čia rasite visas konfigūracijos parinktis), kad tinkintumėte GoTTY, pavyzdžiui:
// Listen at port 9000 by default
port = "9000"
// Enable TSL/SSL by default
enable_tls = true
// hterm preferences
// Smaller font and a little bit bluer background color
preferences {
font_size = 5,
background_color = "rgb(16, 16, 32)"
}
Galite nustatyti savo index.html failą naudodami komandų eilutės parinktį --index
:
gotty --index /path/to/index.html uptime
Kaip naudoti saugos funkcijas GoTTY
Kadangi GoTTY pagal numatytuosius nustatymus nesiūlo patikimos saugos, turite rankiniu būdu naudoti tam tikras toliau paaiškintas saugos funkcijas.
Leisti klientams vykdyti komandas/tipo įvestį terminale
Atminkite, kad pagal numatytuosius nustatymus GoTTY neleidžia klientams įvesti įvesties į TTY, ji įgalina tik lango dydžio keitimą.
Tačiau galite naudoti parinktį -w
arba --permit-write
, kad klientai galėtų rašyti į TTY, o tai nerekomenduojama dėl serverio saugumo grėsmių.
Ši komanda naudos komandų eilutės redagavimo priemonę „vi“, kad atidarytų failą fossmint.txt, kad būtų galima redaguoti žiniatinklio naršyklėje:
gotty -w vi fossmint.txt
Žemiau yra vi sąsaja, matoma iš žiniatinklio naršyklės (čia kaip įprastai naudokite vi komandas):
Naudokite GoTTY su pagrindiniu (vartotojo vardo ir slaptažodžio) autentifikavimu
Pabandykite suaktyvinti pagrindinį autentifikavimo mechanizmą, kai klientai turės įvesti nurodytą vartotojo vardą ir slaptažodį, kad prisijungtų prie GoTTY serverio.
Toliau pateikta komanda apribos kliento prieigą naudojant -c
parinktį, kad naudotojų būtų prašoma nurodyti nurodytus kredencialus (naudotojo vardas: testas ir slaptažodis: @67890):
gotty -w -p "9000" -c "test:@67890" glances
„Gotty“ generuoti atsitiktinį URL
Kitas būdas apriboti prieigą prie serverio yra parinkties -r
naudojimas. Čia GoTTY sugeneruos atsitiktinį URL, kad tik vartotojai, žinantys URL, galėtų pasiekti serverį.
Taip pat naudokite parinktį –pavadinimo formatas „GoTTY – {{ .Command }} ({{ .Hostname }})“, kad apibrėžtumėte žiniatinklio naršyklės sąsajos pavadinimą ir komanda „glances“ naudojama sistemos stebėjimo statistikai rodyti. :
gotty -r --title-format "GoTTY - {{ .Command }} ({{ .Hostname }})" glances
Tai yra aukščiau pateiktos komandos rezultatas, kaip matyti iš žiniatinklio naršyklės sąsajos:
Naudokite GoTTY su SSL/TLS
Kadangi pagal numatytuosius nustatymus visi ryšiai tarp serverio ir klientų nėra užšifruoti, kai siunčiate slaptą informaciją per GoTTY, pvz., vartotojo kredencialus ar bet kokią kitą informaciją, turite naudoti -t
arba - -tls
parinktis, kuri sesijoje įgalina TLS/SSL:
GoTTY pagal numatytuosius nustatymus skaitys sertifikato failą ~/.gotty.crt
ir rakto failą ~/.gotty.key
, todėl taip pat pradėkite sukurdami savarankiškai pasirašytą sertifikatą kaip rakto failą naudodami toliau pateiktą komandą openssl (atsakykite į užduotą klausimą, kad sugeneruotumėte sertifikato ir rakto failus):
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout ~/.gotty.key -out ~/.gotty.crt
Tada saugiai naudokite GoTTY su įjungtu SSL/TLS taip:
gotty -tr --title-format "GoTTY - {{ .Command }} ({{ .Hostname }})" glances
Bendrinkite savo terminalą su keliais klientais
Galite naudoti terminalo multiplekserius, kad galėtumėte bendrinti vieną procesą su keliais klientais, ši komanda pradės naują tmux sesiją pavadinimu gotty with glances komanda (įsitikinkite, kad įdiegėte tmux):
gotty tmux new -A -s gotty glances
Norėdami perskaityti kitą konfigūracijos failą, naudokite parinktį –config „/path/to/file“, kaip nurodyta toliau.
gotty -tr --config "~/gotty_new_config" --title-format "GoTTY - {{ .Command }} ({{ .Hostname }})" glances
Norėdami parodyti GoTTY versiją, paleiskite komandą:
gotty -v
Norėdami rasti daugiau naudojimo pavyzdžių, apsilankykite „GoTTY GitHub“ saugykloje: https://github.com/yudai/gotty
Tai viskas! Ar išbandėte? Kaip rasti GoTTY? Pasidalykite savo mintimis su mumis naudodami toliau pateiktą atsiliepimų formą.