Com accedir al terminal del servidor Linux al navegador web mitjançant l'eina Wetty (Web + tty).


Com a administrador del sistema, probablement us connecteu a servidors remots mitjançant un programa com GNOME Terminal (o similar) si esteu en un escriptori Linux, o un client SSH com Putty si teniu una màquina Windows, mentre feu altres tasques com navegar per la web o consultar el vostre correu electrònic.

[També us pot agradar: Cockpit: una eina d'administració basada en navegador per a Linux]

No seria fantàstic si hi hagués una manera d'accedir a un servidor Linux remot directament des del navegador web? Afortunadament per a tots nosaltres, hi ha una eina anomenada Wetty (Web + tty) que ens permet fer exactament això, sense necessitat de canviar de programa i tot des de la mateixa finestra del navegador web.

Instal·lació de Wetty a Linux

Wetty està disponible al repositori GitHub del seu desenvolupador. Per aquest motiu, independentment de la distribució, esteu utilitzant algunes dependències que primer s'han d'instal·lar manualment abans de clonar el dipòsit localment i instal·lar el programa.

Al repositori EPEL com es mostra:

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

A Debian i els seus derivats, la versió de NodeJS disponible als repositoris de la distribució és més antiga que la versió mínima necessària per instal·lar Wetty, de manera que l'has d'instal·lar des del dipòsit de desenvolupadors de NodeJS GitHub:

# 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

Després d'instal·lar aquestes dependències, cloneu el repositori GitHub:

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

Canvieu el directori de treball a wetty, tal com s'indica al missatge anterior:

# cd wetty

a continuació, instal·leu Wetty executant:

# npm install

Si rebeu missatges d'error durant el procés d'instal·lació, si us plau, abordeu-los abans de continuar. En el meu cas, la necessitat d'una versió més nova de NodeJS a Debian era un problema que s'havia de resoldre abans d'executar npm install amb èxit.

Iniciar Wetty i accedir al terminal Linux des del navegador web

En aquest punt, podeu iniciar la interfície web al port local 8080 per a Wetty executant (això suposa que el vostre directori de treball actual és /wetty):

# node app.js -p 8080

Com podeu veure a la imatge següent:

Però feu-vos un favor i NO introduïu el vostre nom d'usuari i contrasenya, ja que aquesta connexió no és segura i no voleu que les vostres credencials viatgen pel cable sense protecció.

Per aquest motiu, sempre hauríeu d'executar Wetty mitjançant HTTPS. Creem un certificat autofirmat per assegurar la nostra connexió amb el servidor remot:

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

A continuació, utilitzeu-lo per llançar Wetty mitjançant HTTPS.

Tingueu en compte que haureu d'obrir el port HTTPS personalitzat on voldreu executar 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 &

L'última ordre de la seqüència anterior iniciarà Wetty en segon pla escoltant al port 8080. Com que estem utilitzant un certificat autofirmat, és d'esperar que el navegador mostri un avís de seguretat: és perfectament segur ignorar-lo i afegiu una excepció de seguretat, ja sigui de manera permanent o per a la sessió actual:

Després d'haver confirmat l'excepció de seguretat, podreu iniciar sessió al vostre VPS mitjançant Wetty. No cal dir que podeu executar totes les ordres i programes com si estiguéssiu assegut davant d'un terminal real o virtual, com podeu veure a la següent pantalla: