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.