GoTTY - jagage oma Linuxi terminali (TTY) veebirakendusena


GoTTY on lihtne GoLangil põhinev käsurea tööriist, mis võimaldab teil oma terminali (TTY) veebirakendusena jagada. See muudab käsurea tööriistad veebirakendusteks.

See kasutab Chrome OS-i terminaliemulaatorit (hterm) JavaScripti põhise terminali käivitamiseks veebibrauserites. Ja mis veelgi tähtsam, GoTTY käitab veebipesa serverit, mis sisuliselt edastab TTY-st väljundi klientidele ja võtab klientidelt sisendi vastu (see tähendab, et klientide sisend on lubatud) ja edastab selle TTY-le.

Selle arhitektuur (hterm + veebipesa idee) sai inspiratsiooni Wetty programmist, mis võimaldab terminali HTTP ja HTTPS kaudu.

GoTTY käitamiseks peaks teil olema Linuxi installitud GoLang (Go programmeerimiskeel) keskkond.

Kuidas installida GoTTY Linuxi süsteemidesse

Kui teil on juba toimiv GoLangi keskkond, käivitage selle installimiseks käsk go get:

# go get github.com/yudai/gotty

Ülaltoodud käsk installib GoTTY binaarse keskkonnamuutuja GOBIN, proovige kontrollida, kas see on nii:

# ls $GOPATH/bin/

Kuidas kasutada GoTTY-d Linuxis

Selle käivitamiseks võite kasutada muutujat GOBIN env ja käsu automaatne täitmine järgmiselt:

# $GOBIN/gotty

Muul juhul käivitage GoTTY või mõni muu Go-programm, ilma et sisestaksite täieliku tee kahendkoodini, lisage oma GOBIN-muutuja failis ~/.profile PATH-i, kasutades allolevat ekspordikäsku:

export PATH="$PATH:$GOBIN"

Salvestage fail ja sulgege see. Seejärel hankige fail ülaltoodud muudatuste tegemiseks:

# source ~/.profile

GoTTY käskude käitamise üldine süntaks on järgmine:

Usage: gotty [options] <Linux command here> [<arguments...>]

Nüüd käivitage GoTTY mis tahes käsuga, näiteks käsk df, et vaadata veebibrauserist süsteemi kettasektsioonide ruumi ja kasutamist:

# gotty df -h

GoTTY käivitab veebiserveri vaikimisi porti 8080. Seejärel avage oma veebibrauseris URL: http://127.0.0.1:8080/ ja näete töötavat käsku, nagu töötaks see teie terminalis:

Kuidas kohandada GoTTY-d Linuxis

Saate muuta vaikevalikuid ja oma terminali (hterm) profiilifailis ~/.gotty , see laadib selle faili vaikimisi juhul, kui see on olemas.

See on peamine kohandamisfail, mida loevad käsklused, nii et looge see järgmiselt:

# touch ~/.gotty

Ja GoTTY kohandamiseks määrake seadistusvõimaluste jaoks oma kehtivad väärtused (leiate kõik seadistusvõimalused siit):

// 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)"
}

Oma faili index.html saate määrata käsurealt suvandi --index abil:

# gotty --index /path/to/index.html uptime

Kuidas kasutada GoTTY turvafunktsioone

Kuna GoTTY ei paku vaikimisi usaldusväärset turvalisust, peate teatud allpool selgitatud turvaelemente käsitsi kasutama.

Pange tähele, et vaikimisi ei luba GoTTY klientidel sisestada TTY-sse, see võimaldab ainult akna suuruse muutmist.

Siiski võite kasutada valikuid -w või --permit-write , et kliendid saaksid kirjutada TTY-sse, mis pole soovitatav serveri turvaohtude tõttu.

Järgmine käsk kasutab faili fossmint.txt avamiseks veebibrauseris redigeerimiseks käsurea redaktorit:

# gotty -w vi fossmint.txt

Allpool on vi-liides veebibrauserist vaadatuna (kasutage siin vi-käske nagu tavaliselt):

Proovige aktiveerida põhiline autentimismehhanism, kus klientidel tuleb GoTTY serveriga ühenduse loomiseks sisestada määratud kasutajanimi ja parool.

Allpool olev käsk piirab kliendi juurdepääsu, kasutades valikut -c , et küsida kasutajatelt määratud mandaate (kasutajanimi: test ja parool: @ 67890):

# gotty -w -p "9000" -c "test:@67890" glances

Teine võimalus serverile juurdepääsu piiramiseks on valiku -r kasutamine. Siin genereerib GoTTY juhusliku URL-i, nii et ainult URL-i tundvad kasutajad pääsevad serverile juurde.

Kasutage veebibrauseri liidese pealkirja määratlemiseks ka valikut –tiitli-vormingus „GoTTY - {{.Command}} ({{.Hostname}})” ja süsteemi jälgimise statistika kuvamiseks kasutatakse käsku pilgud:

# gotty -r --title-format "GoTTY - {{ .Command }} ({{ .Hostname }})" glances

Järgmine on ülaltoodud käsu tulemus veebibrauseri liideselt vaadatuna:

Kuna vaikimisi ei ole kõik serveri ja klientide vahelised ühendused krüpteeritud, peate GoTTY kaudu salajase teabe, näiteks kasutajaandmete või muu teabe saatmisel kasutama -t või - -tls valik, mis võimaldab seansil TLS/SSL-i:

GoTTY loeb vaikimisi sertifikaadifaili ~/.gotty.crt ja võtmefaili ~/.gotty.key ning alustab seetõttu ka ise allkirjastatud sertifikaadi loomist võtmefailina, kasutades allpool olevat käsku openssl (vastake sert- ja võtmefailide genereerimiseks esitatud küsimusele):

# openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout ~/.gotty.key -out ~/.gotty.crt

Seejärel kasutage GoTTY-d turvalisel viisil, kui SSL/TLS on lubatud järgmiselt:

# gotty -tr --title-format "GoTTY - {{ .Command }} ({{ .Hostname }})" glances

Võite kasutada pilkude käsku (veenduge, et olete installinud tmux):

# gotty tmux new -A -s gotty glances 

Erineva konfiguratsioonifaili lugemiseks kasutage valikut –config “/ path/to/file” nii:

# gotty -tr --config "~/gotty_new_config" --title-format "GoTTY - {{ .Command }} ({{ .Hostname }})" glances

GoTTY versiooni kuvamiseks käivitage käsk:

# gotty -v 

Kasutamisnäidete leidmiseks külastage GoTTY GitHubi hoidlat: https://github.com/yudai/gotty

See on kõik! Kas olete seda proovinud? Kuidas leiate GoTTY? Jagage oma mõtteid meiega allpool oleva tagasisidevormi kaudu.