GoTTY - Jaa Linux-päätteesi (TTY) verkkosovelluksena
GoTTY on yksinkertainen GoLang-pohjainen komentorivityökalu, jonka avulla voit jakaa terminaalisi (TTY) verkkosovelluksena. Se muuttaa komentorivityökalut verkkosovelluksiksi.
Se käyttää Chrome-käyttöjärjestelmän pääteemulaattoria (hterm) JavaScript-pohjaisen päätteen suorittamiseen verkkoselaimissa. Ja mikä tärkeintä, GoTTY käyttää verkkoliitäntäpalvelinta, joka periaatteessa siirtää lähdön TTY:stä asiakkaille ja vastaanottaa syötteitä asiakkailta (eli jos asiakkaiden syöttö on sallittu) ja välittää sen edelleen. TTY:hen.
Lue myös: Telekonsoli – jaa Linux-päätteesi ystäviesi kanssa
Sen arkkitehtuuri (hterm + web socket -idea) on saanut inspiraationsa Wetty-ohjelmasta, joka mahdollistaa terminaalin HTTP ja HTTPS kautta.
Edellytykset:
Sinulla tulee olla GoLang (Go Programming Language) -ympäristö asennettuna Linuxiin GoTTY:n suorittamiseksi.
Kuinka asentaa GoTTY Linux-järjestelmiin
Jos sinulla on jo toimiva GoLang-ympäristö, asenna se suorittamalla alla oleva go get -komento:
go get github.com/yudai/gotty
Yllä oleva komento asentaa GoTTY-binaarin GOBIN-ympäristömuuttujaasi. Yritä tarkistaa, onko näin:
ls $GOPATH/bin/
GoTTY:n käyttäminen Linuxissa
Voit suorittaa sen käyttämällä GOBIN env -muuttujaa ja komennon automaattista täydennysominaisuutta seuraavasti:
$GOBIN/gotty
Muussa tapauksessa suorita GoTTY tai jokin muu Go-ohjelma kirjoittamatta koko binaaripolkua, lisää GOBIN-muuttuja PATH-arvoon ~/.profile
-tiedostossa käyttämällä alla olevaa export-komentoa. :
export PATH="$PATH:$GOBIN"
Tallenna tiedosto ja sulje se. Lähde sitten tiedosto suorittaaksesi yllä olevat muutokset:
source ~/.profile
GoTTY-komentojen suorittamisen yleinen syntaksi on:
Usage: gotty [options] <Linux command here> [<arguments...>]
Suorita nyt GoTTY millä tahansa komennolla, kuten df-komennolla, tarkastellaksesi järjestelmän levyosioiden tilaa ja käyttöä verkkoselaimesta:
gotty df -h
GoTTY käynnistää verkkopalvelimen portista 8080 oletuksena. Avaa sitten URL: http://127.0.0.1:8080/
verkkoselaimessasi ja näet käynnissä olevan komennon aivan kuin se olisi käynnissä päätteessäsi:
GoTTY:n mukauttaminen Linuxissa
Voit muuttaa oletusasetuksia ja päätettä (hterm) profiilitiedostossa ~/.gotty
. Se lataa tämän tiedoston oletuksena, jos se on olemassa.
Tämä on tärkein mukautustiedosto, jonka gotty-komennot lukevat, joten luo se seuraavasti:
touch ~/.gotty
Ja aseta omat kelvolliset arvosi konfigurointiasetuksiin (löydät kaikki konfigurointivaihtoehdot täältä) mukauttaaksesi GoTTY:tä esimerkiksi:
// 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)"
}
Voit määrittää oman index.html-tiedoston käyttämällä komentorivin --index
-vaihtoehtoa:
gotty --index /path/to/index.html uptime
Kuinka käyttää suojausominaisuuksia GoTTY:ssä
Koska GoTTY ei tarjoa luotettavaa suojausta oletuksena, sinun on käytettävä manuaalisesti tiettyjä alla selitettyjä suojausominaisuuksia.
Salli asiakkaiden suorittaa komentoja/tyypin syöttöä päätteessä
Huomaa, että oletusarvoisesti GoTTY ei salli asiakkaiden kirjoittaa syöttöä TTY:hen, se sallii vain ikkunan koon muuttamisen.
Voit kuitenkin käyttää vaihtoehtoa -w
tai --permit-write
salliaksesi asiakkaiden kirjoittaa TTY:hen, mikä ei ole suositeltavaa palvelimeen kohdistuvien tietoturvauhkien vuoksi.
Seuraava komento avaa vi-komentorivieditorilla tiedoston fossmint.txt muokattavaksi verkkoselaimessa:
gotty -w vi fossmint.txt
Alla on vi-käyttöliittymä verkkoselaimesta nähtynä (käytä vi-komentoja täällä tavalliseen tapaan):
Käytä GoTTY:tä perustodennuksen (käyttäjätunnus ja salasana) kanssa
Yritä aktivoida perustodennusmekanismi, jossa asiakkaiden on syötettävä määritetty käyttäjätunnus ja salasana muodostaakseen yhteyden GoTTY-palvelimeen.
Alla oleva komento rajoittaa asiakkaan käyttöä käyttämällä -c
-vaihtoehtoa ja pyytää käyttäjiltä tiettyjä tunnistetietoja (käyttäjänimi: testi ja salasana: @67890):
gotty -w -p "9000" -c "test:@67890" glances
Gotty Luo satunnainen URL-osoite
Toinen tapa rajoittaa pääsyä palvelimeen on käyttää -r
-vaihtoehtoa. Täällä GoTTY luo satunnaisen URL-osoitteen, jotta vain URL-osoitteen tietävät käyttäjät pääsevät palvelimeen.
Käytä myös -title-muotoa "GoTTY – {{ .Command }} ({{ .Hostname }})" määrittääksesi verkkoselaimen käyttöliittymän otsikon ja glances -komentoa käytetään näyttämään järjestelmän valvontatilastot. :
gotty -r --title-format "GoTTY - {{ .Command }} ({{ .Hostname }})" glances
Seuraava on yllä olevan komennon tulos verkkoselaimen käyttöliittymästä nähtynä:
Käytä GoTTY:tä SSL/TLS:n kanssa
Koska oletusarvoisesti kaikki palvelimen ja asiakkaiden väliset yhteydet eivät ole salattuja, kun lähetät GoTTY:n kautta salaisia tietoja, kuten käyttäjätunnuksia tai muita tietoja, sinun on käytettävä -t
tai - -tls
-vaihtoehto, joka ottaa TLS/SSL:n käyttöön istunnossa:
GoTTY lukee oletuksena varmennetiedoston ~/.gotty.crt
ja avaintiedoston ~/.gotty.key
, joten aloita luomalla myös itse allekirjoitettu varmenne. avaintiedostona käyttämällä alla olevaa openssl-komentoa (vastaa esitettyyn kysymykseen luodaksesi varmenne- ja avaintiedostot):
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout ~/.gotty.key -out ~/.gotty.crt
Käytä sitten GoTTY:tä turvallisella tavalla SSL/TLS:n ollessa käytössä seuraavasti:
gotty -tr --title-format "GoTTY - {{ .Command }} ({{ .Hostname }})" glances
Jaa terminaalisi useiden asiakkaiden kanssa
Voit käyttää päätemultipleksereita yhden prosessin jakamiseen useiden asiakkaiden kanssa, seuraava komento käynnistää uuden tmux-istunnon nimeltä gotty with glances -komento (varmista, että tmux on asennettu):
gotty tmux new -A -s gotty glances
Jos haluat lukea toisen määritystiedoston, käytä –config "/polku/tiedostoon" -vaihtoehtoa seuraavasti:
gotty -tr --config "~/gotty_new_config" --title-format "GoTTY - {{ .Command }} ({{ .Hostname }})" glances
Näytä GoTTY-versio suorittamalla komento:
gotty -v
Käy GoTTY GitHub -tietovarastossa löytääksesi lisää käyttöesimerkkejä: https://github.com/yudai/gotty
Siinä kaikki! Oletko kokeillut sitä? Miten löydät GoTTY:n? Jaa ajatuksesi kanssamme alla olevan palautelomakkeen kautta.