GoTTY - Delite svoj terminal Linux (TTY) kot spletno aplikacijo
GoTTY je preprosto orodje ukazne vrstice, ki temelji na GoLangu in vam omogoča skupno rabo terminala (TTY) kot spletne aplikacije. Orodja ukazne vrstice spremeni v spletne aplikacije.
Uporablja terminalski emulator Chrome OS (hterm) za izvajanje terminala, ki temelji na JavaScript, v spletnih brskalnikih. In kar je pomembno, GoTTY zažene strežnik spletnih vtičnic, ki v bistvu prenese izhod iz TTY na odjemalce in prejme vhod od odjemalcev (to je, če je vnos odjemalcev dovoljen) in ga posreduje TTY.
Njegova arhitektura (ideja hterm + spletna vtičnica) je bila navdihnjena s programom Wetty, ki omogoča terminale prek HTTP in HTTPS.
Za zagon GoTTY bi morali imeti v Linuxu nameščeno okolje GoLang (Go Programming Language).
Kako namestiti GoTTY v sisteme Linux
Če že imate delujoče okolje GoLang, zaženite spodnji ukaz go get, da ga namestite:
# go get github.com/yudai/gotty
Zgornji ukaz bo namestil binarno datoteko GoTTY v spremenljivko okolja GOBIN, poskusite preveriti, ali je temu tako:
# ls $GOPATH/bin/
Kako uporabljati GoTTY v Linuxu
Če ga želite zagnati, lahko uporabite spremenljivko GOBIN env in funkcijo samodejnega dokončanja ukaza, kot sledi:
# $GOBIN/gotty
V nasprotnem primeru zaženite GoTTY ali kateri koli drug program Go, ne da bi vnesli celotno pot do binarnega sistema, dodajte spremenljivko GOBIN v PATH v datoteki ~/.profile
z uporabo spodnjega ukaza za izvoz:
export PATH="$PATH:$GOBIN"
Datoteko shranite in zaprite. Nato datoteko poiščite tako, da izvede zgoraj navedene spremembe:
# source ~/.profile
Splošna skladnja za izvajanje ukazov GoTTY je:
Usage: gotty [options] <Linux command here> [<arguments...>]
Zdaj zaženite GoTTY s katerim koli ukazom, kot je ukaz df, da si ogledate prostor in uporabo sistemskih particij na disku iz spletnega brskalnika:
# gotty df -h
GoTTY bo privzeto zagnal spletni strežnik na vratih 8080. Nato v spletnem brskalniku odprite URL: http://127.0.0.1:8080/
in zagnali boste ukaz za zagon, kot da bi bil na vašem terminalu:
Kako prilagoditi GoTTY v Linuxu
Privzete možnosti in svoj terminal (hterm) lahko spremenite v datoteki profila ~/.gotty
. Ta datoteka se bo privzeto naložila, če obstaja.
To je glavna datoteka za prilagajanje, ki jo berejo ukazi gotty, zato jo ustvarite na naslednji način:
# touch ~/.gotty
In nastavite svoje veljavne vrednosti za konfiguracijske možnosti (tukaj najdete vse možnosti konfiguracije), da prilagodite GoTTY, na primer:
// 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)" }
Svojo datoteko index.html lahko nastavite z možnostjo --index
v ukazni vrstici:
# gotty --index /path/to/index.html uptime
Kako uporabljati varnostne funkcije v GoTTY
Ker GoTTY privzeto ne ponuja zanesljive varnosti, morate ročno uporabiti nekatere varnostne funkcije, razložene spodaj.
Upoštevajte, da GoTTY privzeto ne dovoli odjemalcem, da vnesejo vnos v TTY, ampak omogoča samo spreminjanje velikosti okna.
Lahko pa uporabite možnost -w
ali --permit-write
, da strankam omogočite pisanje v TTY, kar zaradi varnostnih groženj strežniku ni priporočljivo.
Naslednji ukaz bo z urejevalnikom ukazne vrstice vi odprl datoteko fossmint.txt za urejanje v spletnem brskalniku:
# gotty -w vi fossmint.txt
Spodaj je vmesnik vi, kot je razviden iz spletnega brskalnika (tukaj uporabite ukaze vi kot običajno):
Poskusite aktivirati osnovni mehanizem preverjanja pristnosti, kjer bodo odjemalci morali vnesti podano uporabniško ime in geslo za povezavo s strežnikom GoTTY.
Spodnji ukaz bo omejil dostop odjemalca z uporabo možnosti -c
in uporabnike pozval k navedenim poverilnicam (uporabniško ime: test in geslo: @ 67890):
# gotty -w -p "9000" -c "test:@67890" glances
Drug način omejevanja dostopa do strežnika je z uporabo možnosti -r
. Tukaj bo GoTTY ustvaril naključni URL, tako da bodo do strežnika lahko dostopali le uporabniki, ki URL poznajo.
Uporabite tudi možnost –title-format “GoTTY - {{.Command}} ({{.Hostname}})” za določitev naslova vmesnika spletnih ukazov in ukazov Pogled, ki se uporablja za prikaz statističnih podatkov o nadzoru sistema:
# gotty -r --title-format "GoTTY - {{ .Command }} ({{ .Hostname }})" glances
Sledi rezultat zgornjega ukaza, kot je razvidno iz vmesnika spletnega brskalnika:
Ker privzeto vse povezave med strežnikom in odjemalci niso šifrirane, ko morate prek GoTTY pošiljati tajne podatke, kot so uporabniške poverilnice ali katere koli druge informacije, morate uporabiti -t
ali - -tls
možnost, ki omogoča TLS/SSL na seji:
GoTTY bo privzeto prebral datoteko potrdila ~/.gotty.crt
in datoteko ključa ~/.gotty.key
, zato začnite z ustvarjanjem samopodpisanega potrdila. kot datoteko ključa z uporabo spodnjega ukaza openssl (odgovorite na zastavljeno vprašanje, da ustvarite cert in datoteke s ključi):
# openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout ~/.gotty.key -out ~/.gotty.crt
Nato uporabite GoTTY na varen način z omogočenim SSL/TLS, kot sledi:
# gotty -tr --title-format "GoTTY - {{ .Command }} ({{ .Hostname }})" glances
Uporabite lahko ukaz glances (preverite, ali imate nameščen tmux):
# gotty tmux new -A -s gotty glances
Če želite prebrati drugo konfiguracijsko datoteko, uporabite možnost –config “/ path/to/file” tako:
# gotty -tr --config "~/gotty_new_config" --title-format "GoTTY - {{ .Command }} ({{ .Hostname }})" glances
Če želite prikazati različico GoTTY, zaženite ukaz:
# gotty -v
Obiščite repozitorij GoTTY GitHub in poiščite več primerov uporabe: https://github.com/yudai/gotty
To je vse! Ste že poskusili? Kako najti GoTTY? Delite svoje misli z nami preko spodnjega obrazca za povratne informacije.