GoTTY - kopīgojiet savu Linux termināli (TTY) kā tīmekļa lietojumprogrammu
GoTTY ir vienkāršs uz GoLang balstīts komandrindas rīks, kas ļauj koplietot savu termināli (TTY) kā tīmekļa lietojumprogrammu. Tas komandrindas rīkus pārvērš tīmekļa lietojumprogrammās.
Tas izmanto Chrome OS termināļa emulatoru (hterm), lai tīmekļa pārlūkprogrammās izpildītu JavaScript balstītu termināli. Un kas ir svarīgi, GoTTY vada tīmekļa ligzdas serveri, kas būtībā pārsūta produkciju no TTY klientiem un saņem ievadi no klientiem (tas ir, ja ir atļauts ievadīt klientus) un pārsūta to TTY.
Tās arhitektūru (hterm + tīmekļa kontaktligzdas ideja) iedvesmoja Wetty programma, kas ļauj terminālim izmantot HTTP un HTTPS.
Lai palaistu GoTTY, Linux ir jābūt instalētai GoLang (Go Programming Language) videi.
Kā instalēt GoTTY Linux sistēmās
Ja jums jau ir darba vide GoLang, palaidiet komandu go get, lai to instalētu:
# go get github.com/yudai/gotty
Iepriekš minētā komanda instalēs GoTTY bināro versiju jūsu GOBIN vides mainīgajā, mēģiniet pārbaudīt, vai tas tā ir:
# ls $GOPATH/bin/
Kā lietot GoTTY Linux
Lai to palaistu, varat izmantot mainīgo GOBIN env un komandu automātiskās pabeigšanas funkciju šādi:
# $GOBIN/gotty
Pārējā gadījumā palaidiet GoTTY vai jebkuru citu Go programmu, neievadot pilnu ceļu uz bināro failu, pievienojiet savu GOBIN mainīgo PATH failā ~/.profile
, izmantojot zemāk esošo eksporta komandu:
export PATH="$PATH:$GOBIN"
Saglabājiet failu un aizveriet to. Pēc tam avotu failu, lai veiktu iepriekš minētās izmaiņas:
# source ~/.profile
GoTTY komandu izpildes vispārējā sintakse ir šāda:
Usage: gotty [options] <Linux command here> [<arguments...>]
Tagad palaidiet GoTTY ar jebkuru komandu, piemēram, komandu df, lai no tīmekļa pārlūkprogrammas skatītu sistēmas diska nodalījumu vietu un lietojumu:
# gotty df -h
GoTTY pēc noklusējuma sāks tīmekļa serveri 8080. portā. Pēc tam savā tīmekļa pārlūkprogrammā atveriet vietrādi URL: http://127.0.0.1:8080/
, un jūs redzēsiet izpildošo komandu tā, it kā tā darbotos jūsu terminālā:
Kā pielāgot GoTTY Linux
Jūs varat mainīt noklusējuma opcijas un termināli (hterm) profila failā ~/.gotty
, tas pēc noklusējuma ielādēs šo failu, ja tāds pastāv.
Šis ir galvenais pielāgošanas fails, ko nolasa gotty komandas, tāpēc izveidojiet to šādi:
# touch ~/.gotty
Un iestatiet savas derīgās vērtības konfigurācijas opcijām (šeit atrodiet visas konfigurācijas opcijas), lai pielāgotu, piemēram, GoTTY:
// 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)" }
Jūs varat iestatīt pats savu index.html failu, izmantojot komandrindas opciju --index
:
# gotty --index /path/to/index.html uptime
Kā lietot GoTTY drošības līdzekļus
Tā kā GoTTY pēc noklusējuma nepiedāvā drošu drošību, jums ir manuāli jāizmanto noteiktas tālāk paskaidrotās drošības funkcijas.
Ņemiet vērā, ka pēc noklusējuma GoTTY neļauj klientiem ievadīt ievadi TTY, bet ļauj tikai mainīt loga lielumu.
Tomēr varat izmantot opciju -w
vai --permit-write
, lai ļautu klientiem rakstīt TTY, kas nav ieteicams servera drošības draudu dēļ.
Šī komanda izmantos komandrindas redaktoru vi, lai atvērtu failu fossmint.txt rediģēšanai tīmekļa pārlūkprogrammā:
# gotty -w vi fossmint.txt
Zemāk ir vi saskarne, kā redzams no tīmekļa pārlūkprogrammas (šeit parasti izmantojiet vi komandas):
Mēģiniet aktivizēt pamata autentifikācijas mehānismu, kur klientiem būs jāievada norādītais lietotājvārds un parole, lai izveidotu savienojumu ar GoTTY serveri.
Tālāk norādītā komanda ierobežos klienta piekļuvi, izmantojot opciju -c
, lai pieprasītu lietotājiem norādītos akreditācijas datus (lietotājvārds: tests un parole: @ 67890):
# gotty -w -p "9000" -c "test:@67890" glances
Vēl viens veids, kā ierobežot piekļuvi serverim, ir opcijas -r
izmantošana. Šeit GoTTY ģenerēs nejaušu URL, lai tikai lietotāji, kuri zina URL, varētu piekļūt serverim.
Izmantojiet arī –title formāta opciju GoTTY - {{.Command}} ({{.Hostname}}).
# gotty -r --title-format "GoTTY - {{ .Command }} ({{ .Hostname }})" glances
Šis ir iepriekš minētās komandas rezultāts, kā redzams no tīmekļa pārlūka saskarnes:
Tā kā pēc noklusējuma visi savienojumi starp serveri un klientiem netiek šifrēti, nosūtot slepenu informāciju, izmantojot GoTTY, piemēram, lietotāja akreditācijas datus vai jebkuru citu informāciju, jums jāizmanto -t
vai - -tls
opcija, kas sesijā iespējo TLS/SSL:
GoTTY pēc noklusējuma nolasīs sertifikāta failu ~/.gotty.crt
un atslēgu failu ~/.gotty.key
, tāpēc vispirms izveidos arī pašparakstītu sertifikātu. kā atslēgas failu, izmantojot zemāk esošo komandu openssl (atbildiet uz uzdoto jautājumu, lai ģenerētu sert un atslēgu failus):
# openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout ~/.gotty.key -out ~/.gotty.crt
Pēc tam izmantojiet GoTTY drošā veidā ar iespējotu SSL/TLS šādi:
# gotty -tr --title-format "GoTTY - {{ .Command }} ({{ .Hostname }})" glances
Jūs varat izmantot skatienu komandu (pārliecinieties, vai esat instalējis tmux):
# gotty tmux new -A -s gotty glances
Lai lasītu citu konfigurācijas failu, izmantojiet opciju –config “/ path/to/file”, piemēram:
# gotty -tr --config "~/gotty_new_config" --title-format "GoTTY - {{ .Command }} ({{ .Hostname }})" glances
Lai parādītu GoTTY versiju, palaidiet komandu:
# gotty -v
Apmeklējiet GoTTY GitHub repozitoriju, lai atrastu vairāk lietošanas piemēru: https://github.com/yudai/gotty
Tas ir viss! Vai esat to izmēģinājis? Kā jūs atrodat GoTTY? Dalieties savās domās, izmantojot zemāk esošo atsauksmju veidlapu.