Kako pristupiti terminalu Linux poslužitelja u web-pregledniku pomoću alata 'Wetty (Web + tty)'


Kao administrator sustava, vjerojatno se povezujete na udaljene poslužitelje koristeći program kao što je GNOME Terminal (ili sličan) ako ste na Linux radnoj površini ili SSH klijent kao što je Putty ako imate Windows stroj dok obavljate druge zadatke poput pregledavanja weba ili provjere e-pošte.

Ne bi li bilo fantastično da postoji način za pristup udaljenom Linux poslužitelju izravno iz web preglednika? Srećom za sve nas, postoji alat pod nazivom Wetty (Web + tty) koji nam omogućuje upravo to – bez potrebe za prebacivanjem programe i sve iz istog prozora web preglednika.

Instaliranje Wettyja u Linux

Wetty je dostupan u GitHub repozitoriju svog programera. Iz tog razloga, bez obzira na distribuciju, koristite neke ovisnosti koje morate prvo ručno instalirati prije lokalnog kloniranja repozitorija i instaliranja programa.

U distribucijama koje se temelje na RHEL-u, kao što su CentOS, Rocky Linux i AlmaLinux, trebate instalirati NodeJS i EPEL spremište kao što je prikazano:


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

U Debianu i njegovim izvedenicama, verzija NodeJS dostupna iz repozitorija distribucije starija je od minimalne verzije potrebne za instalaciju Wetty, tako da je morate instalirati iz NodeJS GitHub spremište programera:


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

Nakon instaliranja ovih ovisnosti, klonirajte GitHub repozitorij:

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

Promijenite radni direktorij u wetty, kao što je navedeno u gornjoj poruci:

cd wetty

zatim instalirajte Wetty pokretanjem:

npm install

Ako tijekom postupka instalacije dobijete bilo kakvu poruku o pogrešci, riješite je prije nego nastavite dalje. U mom slučaju, potreba za novijom verzijom NodeJS u Debianu bila je problem koji je trebalo riješiti prije uspješnog pokretanja npm instalacije.

Pokretanje Wettyja i pristup Linux terminalu iz web preglednika

U ovom trenutku, možete pokrenuti web sučelje u lokalnom portu 8080 za Wetty pokretanjem (ovo pretpostavlja da je vaš trenutni radni direktorij /wetty) :

node app.js -p 8080

Kao što možete vidjeti na slici ispod:

Ali učinite si uslugu i NEMOJTE unositi svoje korisničko ime i zaporku jer ova veza nije sigurna i ne želite da vaše vjerodajnice putuju žicom nezaštićene.

Iz tog razloga, uvijek biste trebali pokrenuti Wetty preko HTTPS. Kreirajmo samopotpisani certifikat kako bismo osigurali našu vezu s udaljenim poslužiteljem:

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

Zatim ga upotrijebite za pokretanje Wetty putem HTTPS.

Imajte na umu da ćete morati otvoriti prilagođeni HTTPS port na kojem želite pokrenuti 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 &

Posljednja naredba u gornjem nizu pokrenut će Wetty u pozadini slušajući na priključku 8080. Budući da koristimo samopotpisani certifikat, za očekivati je da će preglednik prikazati sigurnosno upozorenje – potpuno je sigurno zanemariti ga i dodati sigurnosnu iznimku – bilo trajno ili za trenutnu sesiju:

Nakon što potvrdite sigurnosnu iznimku, moći ćete se prijaviti na svoj VPS koristeći Wetty. Podrazumijeva se da sve naredbe i programe možete pokretati kao da sjedite ispred stvarnog ili virtualnog terminala, kao što možete vidjeti na sljedećem prikazu zaslona: