Hvordan få tilgang til Linux Server Terminal i nettleseren ved å bruke 'Wetty (Web + tty)'-verktøyet


Som systemadministrator kobler du sannsynligvis til eksterne servere ved å bruke et program som GNOME Terminal (eller lignende) hvis du er på et Linux-skrivebord, eller en SSH-klient som Putty hvis du har en Windows-maskin, mens du utfører andre oppgaver som å surfe på nettet eller sjekke e-posten din.

Ville det ikke vært fantastisk hvis det var en måte å få tilgang til en ekstern Linux-server direkte fra nettleseren? Heldigvis for oss alle finnes det et verktøy kalt Wetty (Web + tty) som lar oss gjøre nettopp det – uten å måtte bytte programmer og alt fra samme nettleservindu.

Installerer Wetty i Linux

Wetty er tilgjengelig fra GitHub-depotet til utvikleren. Av den grunn, uansett distribusjon, bruker du noen avhengigheter som først må installeres manuelt før du kloner depotet lokalt og installerer programmet.

I RHEL-baserte distroer, som CentOS, Rocky Linux, og AlmaLinux, må du installere NodeJS og EPEL-depotet som vist:


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

I Debian og dens derivater er versjonen av NodeJS som er tilgjengelig fra distribusjonens depoter eldre enn minimumsversjonen som kreves for å installere Wetty, så du må installere den fra >NodeJS GitHub-utviklerlager:


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

Etter å ha installert disse avhengighetene, klone GitHub-depotet:

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

Endre arbeidskatalogen til våt, som angitt i meldingen ovenfor:

cd wetty

installer deretter Wetty ved å kjøre:

npm install

Hvis du får noen feilmeldinger under installasjonsprosessen, vennligst adresser dem før du fortsetter. I mitt tilfelle var behovet for en nyere versjon av NodeJS i Debian et problem som måtte løses før du kjører npm-installasjonen.

Starte Wetty og få tilgang til Linux Terminal fra nettleseren

På dette tidspunktet kan du starte nettgrensesnittet i lokal port 8080 for Wetty ved å kjøre (dette forutsetter at din nåværende arbeidskatalog er /wetty) :

node app.js -p 8080

Som du kan se på bildet nedenfor:

Men gjør deg selv en tjeneste og IKKE skriv inn brukernavnet og passordet ditt siden denne tilkoblingen ikke er sikker og du ikke vil at legitimasjonen din skal gå ubeskyttet gjennom ledningen.

Av den grunn bør du alltid kjøre Wetty gjennom HTTPS. La oss lage et selvsignert sertifikat for å sikre tilkoblingen til den eksterne serveren:

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

Og bruk den til å starte Wetty via HTTPS.

Vær oppmerksom på at du må åpne den tilpassede HTTPS-porten der du vil kjøre 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 &

Den siste kommandoen i sekvensen ovenfor starter Wetty i bakgrunnen og lytter på port 8080. Siden vi bruker et selvsignert sertifikat, er det å forvente at nettleseren vil vise en sikkerhetsadvarsel – Det er helt trygt å ignorere det og legge til et sikkerhetsunntak – enten permanent eller for gjeldende økt:

Etter at du har bekreftet sikkerhetsunntaket vil du kunne logge inn på VPS-en din med Wetty. Det sier seg selv at du kan kjøre alle kommandoer og programmer som om du satt foran en ekte eller virtuell terminal, som du kan se i følgende skjermbilde: