Kaip pasiekti „Linux“ serverio terminalą žiniatinklio naršyklėje naudojant „Wetty (Web + tty)“ įrankį


Kaip sistemos administratorius tikriausiai prisijungiate prie nuotolinių serverių naudodami programą, pvz., GNOME terminalą (ar panašią), jei naudojate „Linux“ darbalaukį, arba SSH klientą, pvz., „Putty“, jei turite „Windows“ kompiuteryje, kai atliekate kitas užduotis, pvz., naršote internete arba tikrinate el.

Ar nebūtų nuostabu, jei būtų galimybė pasiekti nuotolinį „Linux“ serverį tiesiai iš žiniatinklio naršyklės? Mūsų visų laimei, yra įrankis, vadinamas Wetty (Web + tty), kuris leidžia tai padaryti – nereikia perjungti programas ir visa tai iš to paties interneto naršyklės lango.

„Wetty“ diegimas sistemoje „Linux“.

„Wetty“ galima įsigyti iš kūrėjo GitHub saugyklos. Dėl šios priežasties, nepaisant platinimo, naudojate kai kurias priklausomybes, kurias pirmiausia reikia įdiegti rankiniu būdu prieš klonuojant saugyklą vietoje ir įdiegiant programą.

RHEL pagrindu sukurtuose platinimo įrenginiuose, pvz., CentOS, Rocky Linux ir AlmaLinux, turite įdiegti NodeJS ir EPEL saugykla, kaip parodyta:


yum groupinstall 'Development Tools'
curl -fsSL https://rpm.nodesource.com/setup_17.x | bash -
yum update 
yum install epel-release git nodejs npm

„Debian“ ir jo išvestinėse versijose NodeJS versija, pasiekiama iš platinimo saugyklų, yra senesnė nei minimali versija, reikalinga norint įdiegti Wetty, todėl turite ją įdiegti iš >NodeJS „GitHub“ kūrėjų saugykla:


apt install curl build-essential
curl -fsSL https://deb.nodesource.com/setup_17.x | sudo -E bash -
apt update && apt install -y git nodejs npm

Įdiegę šias priklausomybes, klonuokite „GitHub“ saugyklą:

git clone https://github.com/krishnasrinivas/wetty

Pakeiskite darbo katalogą į šlapias, kaip nurodyta anksčiau pateiktame pranešime:

cd wetty

tada įdiekite Wetty paleisdami:

npm install

Jei diegimo proceso metu gaunate klaidų pranešimų, prieš tęsdami toliau nurodykite juos. Mano atveju, naujesnės versijos NodeJS poreikis Debian buvo problema, kurią reikėjo išspręsti prieš sėkmingai paleidžiant npm diegimą.

Wetty ir Access Linux Terminal paleidimas iš žiniatinklio naršyklės

Šiuo metu galite paleisti žiniatinklio sąsają vietiniame prievade 8080, skirtą Wetty (tai reiškia, kad dabartinis jūsų darbo katalogas yra /wetty) :

node app.js -p 8080

Kaip matote toliau pateiktame paveikslėlyje:

Tačiau padarykite sau paslaugą ir NEĮveskite savo naudotojo vardo ir slaptažodžio, nes šis ryšys nėra saugus ir nenorite, kad jūsų kredencialai keliautų per laidą neapsaugoti.

Dėl šios priežasties visada turėtumėte paleisti Wetty per HTTPS. Sukurkime savarankiškai pasirašytą sertifikatą, kad apsaugotume ryšį su nuotoliniu serveriu:

openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 365 -nodes

Tada naudokite jį, kad paleistumėte Wetty per HTTPS.

Atminkite, kad turėsite atidaryti priskirtą HTTPS prievadą, kuriame norėsite paleisti Wetty:

firewall-cmd --add-service=https # Run Wetty in the standard HTTPS port (443)
firewall-cmd --permanent --add-service=https
firewall-cmd --add-port=XXXX/tcp # Run Wetty on TCP port XXXX
nohup node app.js --sslkey key.pem --sslcert cert.pem -p 8080 &

Paskutinė aukščiau pateiktos sekos komanda pradės Wetty fone ir klausys per prievadą 8080. Kadangi naudojame savarankiškai pasirašytą sertifikatą, tikimasi, kad naršyklė parodys saugos įspėjimą – visiškai saugu jo nepaisyti ir pridėti saugos išimtį – visam laikui arba dabartinei sesijai:

Patvirtinus saugos išimtį, galėsite prisijungti prie savo VPS naudodami Wetty. Savaime suprantama, kad visas komandas ir programas galite paleisti taip, lyg sėdėtumėte priešais tikrą ar virtualų terminalą, kaip matote toliau pateiktame ekrane: