662 - Una terminal en tu navegador
Nexterm es un servicio, que puedes levantar con #docker, que te permite acceder a cualquier servidor con una #terminal #linux en tu navegador
Uno de los objetivos que tenía cuando añadí la tablet de OnePlus a mi stack tecnológico era llevar el mínimo peso conmigo. Y lo cierto es que realmente, la diferencia entre la tablet y el portátil es sustancial, diga quien diga lo que me diga. Sobre todo, desde que Termux está perfectamente consolidado en la tablet, y lo tengo todo sincronizado tal y como te conté en el episodio 640 titulado Sincronizando Termux en Android con Linux. Sin embargo, todavía podría ir mucho mas ligero. Simplemente, la solución es no llevar absolutamente nada. Pero, ¿y como mantener todos los servicios que ahora mismo tengo funcionando?. Podría hacerlo desde el móvil, pero eso es un poco infernal, y casi que tampoco necesitaría el móvil. La cuestión es hacerlo todo a través del navegador, desde cualquier navegador. Y eso es precisamente lo que vengo a contarte en este episodio, como gestionar tus servidores con una terminal en tu navegador.
Una terminal en tu navegador
Mis necesidades
Mis necesidades se pueden dividir en dos partes. Por un lado las páginas web que mantengo y por otro lado, los servicios propios. Está claro que las páginas web no las puedo dejar sin servicio durante mucho tiempo. Una o dos horas es lo máximo que me permito a lo largo de la semana que alguno de estas páginas esté fuera de servicio, y siempre en la madrugada. Por otro lado, mis servicios, si no funcionan tampoco me preocupan relativamente. Y te digo relativamente por que alguno de estos servicios son los que utilizo para notificar en las distintas redes sociales, otros para hacer copias de seguridad y otro para estar al tanto de todo lo que sucede. Pero, perfectamente podrían estar 24 horas sin funcionamiento. Esto no quita con que si me entero de que alguno de estos servicios no funciona, hago todo lo posible para remediarlo.
Como ves, tal y como te expliqué en el episodio anterior, utilizo Semaphore para reiniciar vía Ansible, aquellos servicios que necesito, y también tendría la posibilidad de realizarlo de otras maneras.
Sin embargo, otra de las razones de la tablet, además de reducir los chismes que llevo es la ventaja de llevar siempre una terminal conmigo. Y es que, aunque no lo creas, la terminal es una herramienta imprescindible para mi. Y no solo para mi, sino para cualquier persona que se dedique a la informática. Y es que, la terminal es la herramienta más potente que existe.
MobaXterm
En el episodio 107 titulado SSH desde Windows con MobaXterm te hablé de MobaXterm, una herramienta que te permite conectarte vía ssh a cualquier servidor, y además, te permite realizar muchas más cosas. Una de las cuestiones interesantes de MobaXterm es que mantiene un panel lateral donde tienes al alcance de un clic los distintos servidores a los que te puedes conectar. Simplemente, tienes que dar de alta aquellos servidores que necesitas para utilizarlos posteriormente. Esto es realmente cómodo, porque en el caso de que tengas una gran cantidad de servidores, no tienes que recordar cada uno de ellos.
A pesar de ello, en un episodio anterior, en concreto, en el 106 titulado Configuración SSH y segunda temporada te hablé de como podías implementar un sencillo script que te facilitara las conexiones en caso de que no utilices la herramienta que te mencionaba anteriormente. Tenías que configurar el archivo ~/.ssh/config
además de la implementación de ese script.
Tengo que decirte que a día de hoy, he mejorado sensiblemente el script, y es el que estoy utilizando de forma habitual para conectarme a un parque de mas de 200 servidores. Y es que, la verdad, es que es realmente cómodo.
Sin embargo… ¿Que te parecería un servicio web que te permitiera conectarte a cualquier servidor vía ssh desde cualquier navegador?.
Nexterm
Pues eso precisamente es Nexterm, un servicio web que te permite conectar a cualquier servidor vía ssh o ftp, a golpe de clic. Y por esto, precisamente en te mencionaba sobre MobaXterm. Por que una de las características que mas me han llamado la atención de este servicio es que te permite tener un panel lateral, con todos los servidores que quieras configurar, y además, organizado por carpetas. Realmente espectacular.
Esto es precisamente lo que mas me ha gustado y por lo que te he traído este servicio, porque te permite tener todas tus conexiones a tus servidores organizados por carpetas, y a golpe de clic, poder acceder a cada uno de ellos.
Uso y funcionamiento
Nexterm está organizado en tres funciones principales, que son las de gestión de usuarios, la de servidores y la App Store.
Gestión de usuarios
En la parte de gestión de usuarios puedes dar de alta puedes crear tantos usuarios como necesites, y en caso de que lo quieras puedes asignarle el rol de administrador. De la misma manera puedes borrar los usuarios que necesites, y en su caso habilitar el segundo factor de autenticación.
Realmente uno de los miedos que tenía era con esto de tener todos mis servidores en un servicio web, pero la verdad es que la posibilidad de habilitar el segundo factor de autenticación me ha tranquilizado bastante. Sobre el segundo factor de autenticación, precisamente te hablé en el episodio 650, titulaod Segundo factor en Linux y otras extensiones.
Servidores
En esta segunda sección tienes un panel lateral con todas las conexiones a los servidores que hayas configurado y organizadas por carpetas. Además tienes un buscador para el facilitarte aún mas el trabajo.
Haciendo doble clic sobre cada una de las conexiones accedes directamente al servidor vía ssh, y puedes trabajar con él como si en cualquier otra terminal te encontraras. Es mas puedes editar utilizando Neovim, y cualquier otra operación que hagas de forma habitual. El único inconveniente es el escape.
Los conexiones van siempre en carpetas, con lo que la primera operación será crear una carpeta. Esto lo puedes hacer fácilmente desde el menú contextual que aparece al hacer clic con el botón derecho del ratón.
Por otro lado, si haces clic sobre cualquier conexión con el botón derecho del ratón, te mostrará un menú contextual con las opciones para conectarte vía ssh o ftp, o también para editar o eliminar la conexión.
App Store
Por último tienes una APP Store que te permite instalar otras aplicaciones como por ejemplo Gitea, MySpeed, Uptime Kuma o incluso el porpio Nexterm, utilizando Docker.
Lo cierto es que, como ya te puedes imaginar, esto no lo he explotado mucho. Pero tengo que darle un vistazo, porque permite añadir tus propios repositorios de aplicaciones, y eso, dependiendo de como deje configurarlo puede ser realmente mas que interesante. Tengo que darle una vuelta.
Instalación
La instalación es tan sencilla como utilizar el siguiente docker-compose.yml
,
services:
nexterm:
image: germannewsmaker/nexterm:1.0.2-OPEN-PREVIEW
container_name: nexterm
restart: unless-stopped
init: true
environment:
TZ: Europe/Madrid
networks:
– proxy
volumes:
– data:/app/data
labels:
– traefik.enable=true
– traefik.http.services.nexterm.loadbalancer.server.port=6989
– traefik.http.routers.nexterm.entrypoints=https
– traefik.http.routers.nexterm.rule=Host(nexterm.tuservidor.es
)
volumes:
data: {}
networks:
proxy:
external: true
Conclusión
Con independencia de la APP Store, la verdad es que Nexterm es una herramienta realmente interesante para tener todas tus conexiones a tus servidores organizadas por carpetas, y a golpe de clic, poder acceder a cada uno de ellos. Realmente es una herramienta que me ha sorprendido gratamente, y que estoy utilizando de forma habitual.