Kako pristupiti terminalu Linux servera u web pretraživaču pomoću alata 'Wetty (Web + tty)'


Kao sistem administrator, vjerovatno se povezujete na udaljene servere pomoću programa kao što je GNOME Terminal (ili sličnog) ako ste na Linux desktopu ili SSH klijenta kao što je Putty ako imate Windows mašina, dok obavljate druge zadatke kao što je pregledavanje weba ili provjeravanje e-pošte.

Zar ne bi bilo fantastično da postoji način da se pristupi udaljenom Linux serveru direktno iz web pretraživača? Srećom po sve nas, postoji alat pod nazivom Wetty (Web + tty) koji nam omogućava upravo to – bez potrebe za prebacivanjem programe i sve iz istog prozora web pretraživača.

Instalacija Wettyja u Linuxu

Wetty je dostupan u GitHub spremištu svog programera. Iz tog razloga, bez obzira na distribuciju, koristite neke ovisnosti koje se prvo moraju instalirati ručno prije lokalnog kloniranja spremišta i instaliranja programa.

U distribucijama zasnovanim na RHEL-u, kao što su CentOS, Rocky Linux, i AlmaLinux, morate 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 derivatima, verzija NodeJS dostupna iz distribucijskih spremišta starija je od minimalne verzije potrebne za instalaciju Wetty, tako da je morate instalirati sa >NodeJS GitHub developer repozitorij:


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 zavisnosti, klonirajte GitHub spremište:

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

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

cd wetty

zatim instalirajte Wetty tako što ćete pokrenuti:

npm install

Ako dobijete bilo kakve poruke o grešci tokom procesa instalacije, obratite se na njih prije nego što nastavite dalje. U mom slučaju, potreba za novijom verzijom NodeJS u Debianu bila je problem koji je morao biti riješen prije uspješnog pokretanja npm instalacije.

Pokretanje Wetty i pristup Linux terminalu iz web pretraživača

U ovom trenutku, možete pokrenuti web sučelje na 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 sebi uslugu i NEMOJTE unositi svoje korisničko ime i lozinku jer ova veza nije sigurna i ne želite da vaše vjerodajnice putuju kroz žicu nezaštićene.

Iz tog razloga, uvijek biste trebali pokrenuti Wetty kroz HTTPS. Kreirajmo samopotpisani certifikat da osiguramo našu vezu sa udaljenim serverom:

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

A zatim ga upotrijebite za pokretanje Wettyja putem HTTPS-a.

Imajte na umu da ćete morati otvoriti prilagođeni HTTPS port na kojem ćete htjeti 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 komanda u gornjoj sekvenci će pokrenuti Wetty u pozadini slušanje porta 8080. Budući da koristimo samopotpisani certifikat, za očekivati je da će preglednik prikazati sigurnosno upozorenje – Savršeno je sigurno zanemariti ga i dodati sigurnosni izuzetak – bilo trajno ili za trenutnu sesiju:

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