Weboldal keresés

GoTTY – Ossza meg Linux-terminálját (TTY) webalkalmazásként


A GoTTY egy egyszerű GoLang alapú parancssori eszköz, amely lehetővé teszi a terminál (TTY) webalkalmazásként való megosztását. A parancssori eszközöket webalkalmazásokká alakítja.

A Chrome OS terminálemulátorát (hterm) alkalmazza JavaScript-alapú terminál futtatásához webböngészőn. És ami még fontos, a GoTTY egy web socket szervert futtat, amely alapvetően a TTY kimenetet továbbítja a klienseknek, és fogadja a bemenetet az ügyfelektől (vagyis ha engedélyezett az ügyfelektől érkező bemenet), és továbbítja azt. a TTY-hez.

Olvassa el még: Telekonzol – Ossza meg Linux-terminálját barátaival

Architektúráját (hterm + web socket ötlet) a Wetty program ihlette, amely lehetővé teszi a terminált HTTP és HTTPS felett.

Előfeltételek:

A GoTTY futtatásához telepítenie kell a GoLang (Go Programming Language) környezetet a Linuxban.

A GoTTY telepítése Linux rendszereken

Ha már rendelkezik működő GoLang környezettel, futtassa az alábbi go get parancsot a telepítéshez:

go get github.com/yudai/gotty

A fenti parancs telepíti a GoTTY binárist a GOBIN környezeti változóba, próbálja meg ellenőrizni, hogy ez a helyzet:

ls $GOPATH/bin/

A GoTTY használata Linuxban

A futtatásához használhatja a GOBIN env változót és az automatikus kiegészítési funkciót az alábbiak szerint:

$GOBIN/gotty

Ellenkező esetben futtassa a GoTTY-t vagy bármely más Go programot anélkül, hogy beírná a bináris teljes elérési útját, és adja hozzá a GOBIN változót a PATH-hoz a ~/.profile fájlban az alábbi export paranccsal. :

export PATH="$PATH:$GOBIN"

Mentse el a fájlt és zárja be. Ezután szerezze be a fájlt a fenti módosítások végrehajtásához:

source ~/.profile

A GoTTY parancsok futtatásának általános szintaxisa a következő:

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

Most futtassa a GoTTY-t bármilyen paranccsal, például a df paranccsal, hogy megtekinthesse a rendszerlemez-partíciók területét és használatát a webböngészőből:

gotty df -h

A GoTTY alapértelmezés szerint a 8080 porton indít webszervert. Ezután nyissa meg az URL-t: http://127.0.0.1:8080/ a böngészőjében, és a futó parancsot úgy fogja látni, mintha az a terminálon futna:

A GoTTY testreszabása Linux alatt

Módosíthatja az alapértelmezett beállításokat és a terminált (hterm) a ~/.gotty profilfájlban, ez alapértelmezés szerint betölti ezt a fájlt, ha létezik.

Ez a fő testreszabási fájl, amelyet a gotty parancsok olvasnak, ezért hozza létre a következőképpen:

touch ~/.gotty

És állítsa be a saját érvényes értékeit a konfigurációs beállításokhoz (az összes konfigurációs beállítást itt találja), például a GoTTY testreszabásához:

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

Beállíthatja saját index.html fájlját a parancssor --index kapcsolójával:

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

A GoTTY biztonsági funkcióinak használata

Mivel a GoTTY alapértelmezés szerint nem kínál megbízható biztonságot, bizonyos, alább ismertetett biztonsági funkciókat manuálisan kell használnia.

Engedélyezze az ügyfelek számára, hogy parancsokat/Típusbevitelt futtassák a terminálban

Ne feledje, hogy alapértelmezés szerint a GoTTY nem teszi lehetővé az ügyfelek számára, hogy bevitelt írjanak be a TTY-be, csak az ablakok átméretezését engedélyezi.

Használhatja azonban a -w vagy --permit-write opciót, hogy lehetővé tegye az ügyfelek számára, hogy írjanak a TTY-be, ami a kiszolgálót érő biztonsági fenyegetések miatt nem ajánlott.

A következő parancs a vi parancssori szerkesztővel nyitja meg a fossmint.txt fájlt szerkesztés céljából a webböngészőben:

gotty -w vi fossmint.txt

Az alábbiakban a vi felület látható a webböngészőből (itt a szokásos módon használja a vi parancsokat):

Használja a GoTTY-t alapszintű (felhasználónév és jelszó) hitelesítéssel

Próbáljon meg aktiválni egy alapvető hitelesítési mechanizmust, ahol az ügyfeleknek meg kell adniuk a megadott felhasználónevet és jelszót a GoTTY-kiszolgálóhoz való csatlakozáshoz.

Az alábbi parancs korlátozza az ügyfelek hozzáférését a -c kapcsolóval, hogy meghatározott hitelesítési adatokat kérjen a felhasználóktól (felhasználónév: teszt és jelszó: @67890):

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

Gotty Véletlenszerű URL generálása

A kiszolgálóhoz való hozzáférés korlátozásának másik módja a -r kapcsoló használata. Itt a GoTTY véletlenszerű URL-t generál, így csak az URL-t ismerő felhasználók férhetnek hozzá a szerverhez.

Használja a –title-formátumú „GoTTY – {{ .Command }} ({{ .Hostname }})” opciót is a webböngésző felületének meghatározásához. A glances parancsot a rendszerfigyelési statisztikák megjelenítésére használják. :

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

A fenti parancs eredménye a webböngésző felületéről látható módon:

Használja a GoTTY-t SSL/TLS-szel

Mivel alapértelmezés szerint a szerver és a kliensek közötti összes kapcsolat nincs titkosítva, amikor titkos információkat küld GoTTY-n keresztül, például felhasználói hitelesítő adatokat vagy bármilyen más információt, a -t vagy a - -tls opció, amely engedélyezi a TLS/SSL-t a munkamenetben:

A GoTTY alapértelmezés szerint beolvassa a ~/.gotty.crt tanúsítványfájlt és a ~/.gotty.key kulcsfájlt, ezért először egy önaláírt tanúsítvány létrehozásával is kulcsfájlként az alábbi openssl paranccsal (válaszoljon a feltett kérdésre a tanúsítvány- és kulcsfájlok létrehozásához):

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

Ezután biztonságos módon használja a GoTTY-t az SSL/TLS engedélyezésével az alábbiak szerint:

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

Ossza meg terminálját több ügyféllel

A terminál multiplexereket használhatja egyetlen folyamat több klienssel való megosztására, a következő parancs egy új tmux munkamenetet indít el gotty with glances paranccsal (győződjön meg arról, hogy a tmux telepítve van):

gotty tmux new -A -s gotty glances 

Másik konfigurációs fájl olvasásához használja a –config „/elérési út/fájlhoz” opciót, például:

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

A GoTTY verzió megjelenítéséhez futtassa a parancsot:

gotty -v 

További használati példákért látogassa meg a GoTTY GitHub adattárat: https://github.com/yudai/gotty

Ez minden! Kipróbáltad már? Hogyan találja meg a GoTTY-t? Ossza meg velünk gondolatait az alábbi visszajelzési űrlapon keresztül.