Instal·lant Remotely, control remot Open Source
Avui anem a veure un projecte fabulós, anomenat Remotely. Una solució per controlar remotament equips de l' empresa o personals, per a accessos remots puntuals de suport o també equips de manera desatesa. També permetrà si volem l'execució de scripts o comandaments remots.
El projecte de Remotely és força curiós, la veritat que és una solució completa per al dia a dia quan necessitem connectar-nos a equips remots. El que s'ha dit, quan algú requereix d' un suport, o quan volem connectar un equip i no hi ha ningú per atendre'ns. És segur i bastant personalitzable, veurem que Remotely es pot fer servir amb els seus propis servidors (servidors públics) o podem muntar-lo en la nostra pròpia infraestructura. En aquest post veurem les dues opcions. Com sempre agrair i ajudar a aquest tipus de projectes que milloren el dia a dia del món IT, el seu autor és Jared Goodwin, i el lloc web oficial.
Remotely és bastant senzill, disposarem d'un portal web, on els usuaris remots podran connectar-se per descarregar-se el programari 'lleuger’ de connexió remota; on nosaltres com administradores del lloc podem entrar i controlar remotament algun equip que hayamos afegit prèviament a la nostra compte.
Si queréis provar el seu servidor públic bastará accedir aquí per probar: https://app.remotely.one
Otra opción será como dijimos instalarlo bajo nuestro propio servidor, que és la interessant, pero esta se bifurca otra vez, sembla un joc de aventures 🙂 Al grano, a la hora de instalarla en local podrem elegir utilitzar paquetes ya precompilados, esto és el servidor serà totalment funcional, però hi ha coses com que el software client no se podrà personalitzar, ni amb els logos/colors de la empresa ni amb la URL, l'usuari tendría que escribirlo a mano. És una opció. Y la otra seria bastant més ampla però interessant, ya que tendríamos que tener una cuenta en GitHub, hacer un fork del projecte y alguna cosilla más, pero tendríamos más customizada la solució.
Así que si os parece vamos a ver las dos options, primero con los paquets ya precompilados y així després podem comparar i cada uno se queda amb lo que le interessa. Comencem! Necesitamos un Ubuntu Server, en mi caso usé un 21.04, que esté actualizado, nou instal·lat, con IP estática; también pensaremos un FQDN para el sitio web, per exemple: soporte.midominio.eso y abriremos en el firewall/router el 443tcp HTTPS y 80tcp HTTP contra la màquina, este último para LetsEncript.
Instalación predeterminada
Comencem la instal·lació:
wget https://github.com/lucent-sea/Remotely/releases/latest/download/Remotely_Server_Installer chmod +x Remotely_Server_Installer sudo ./Remotely_Server_Installer
I durant la instal·lació l'assistent ens preguntarà si volem utilitzar paquets precompilats o no, li indiquem que sí, així com la ruta per al lloc web i utilitzarem Nginx com a servei web:
Descarregar paquet precompilat (sí/no)?
Si no, es crearà un paquet de servidor personalitzat a través de GitHub Actions.
Introduïu la resposta: sí
A quin directori s'han d'extreure els fitxers del servidor (per exemple. /var/www/remotely/)?
Introduïu la resposta: /var/www/remotely
Quina és la URL pública del vostre servidor (per exemple. https://app.remotely.one)?
Introduïu la resposta: https://suport.meudomini.això
Quin servidor web s'utilitzarà?
[0] - Caddy a Ubuntu
[1] - Nginx a Ubuntu
[2] - Caddy a CentOS
[3] - Nginx a CentOS
[4] - IIS a Windows Server 2016+
Introduïu la resposta: 1
...
Després d'uns segons ja tindrem el lloc muntat, abrimos un navegador contra el nostre FQDN o IP de Remotely. Sin loguearnos podremos simplemente pulsar en Downloads para descargar los distintos softwares para conexión remota de Windows, Linux o Mac. Así que la primera vez nos crearemos un usuario nou para trabajar como administradores del sitio, posem en “Register”,
Indicamos un mail y una contraseña & “Register”,
Y bueno tendremos accés a más posibilidades, darle un passeig que és muy sencillito y complet, a lo largo de aquest post iremos descobriendo las opcions que tenem.
Per fer la primera prova i no seguir més amb aquest entorn preestablecido, si en la zona de Downloads nos descarreguem el client lleuger, al executarlo verem que hi ha que escriure manualment la URL del nostre lloc, això és, a la persona remota entregaremos un EXE y al abrirlo deberá de escribir siempre la URL. No gusta. I després ya el tema del Logo o los colores, pues que este sería el default.
Una vez se connectó contra la URL ya tendremos un ID de conexión,
Que se lo daremos a nuestro agente/técnico, desde el menú lateral “Remote Control” podrà escriure i connectar-se a la sessió del client.
I no només lo que nos esperabà de un control remoto, si no que la sessió se pugui gravar en vídeo, podremos mandar fitxeros, xat, privilegios de lectura… muy elegante!
Instalación personalitzable
Bo, vistes algunes de les seves possibilitats i la seva potència anem a darle a la instal·lació personalitzable, això és, que no sólo podamos cambiar Logos, colors, URL embebida… si no que también los idiomas o lo que nos interese, ya que tendremos el código para nosotros.
Abans de res, necesitamos tener una cuenta en GitHub, así que si no la tienes, regístrate!
Després, si tampoco lo tenemos hecho, deberemos copiar la clave pública de nuestro equipo a nuestra cuenta de Github, ya que posteriormente accederemos a un repo nuestro. Bo, con el siguiente comando la creamos y la vemos:
ssh-keygen -t rsa -b 4096 -C "Equipo remotely" cat /root/.ssh/id_rsa.pub ssh-rsa AAAAAAAAAAAAAAAAAAAAAAAAAADDDDDDDDDDDDDDDDdfdsfsdfxxxxxxxxxxxxxdssadlkjasdksaljdalksjdalskdjakdsjaskdljasdhfffffffffffffffffffffffffffffffasddddddddddddddddddddddddddddddddddddddddassxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxsssssssssssssssssssssssssssssssssssqqqqqqqqqqqqqqqqqqqqqqqwwwwwwwwwwwwwwwwwwwwweeeeeeeeeeeeeeeeeeeeeeerrrrrrrrrrrrrrrrrrrttttttttttttttttttttyyyyyyyyyyyyyyyyyyyyyuuuuuuuuuuuuuuuuuuuuuiiiiiiiiiiiiiiiiiiiiiiiiiioooooooooooooopppppppppppppppppppp== Equipo remotely
En Github, anem a nostres Settings > SSH i GPG Keys > Nova clau SSH… indicamos un nombre i la pegamos.
Anem a https://github.com/lucent-sea/Remotely i posem en “Fork”, anem a bifurcar el projecte i anem a copiar-nos exactament una còpia de l'original en la nostra compte.
I després des de la shell podríem descarregar el projecte a la nostra màquina, podría ser un buen momento si queremos hacerle alguna modificación (idioma…), y tras ello hacemos un pull & un push:
git clone gi*@****ub.com:USUARIO_GITHUB/remotely cd ./remotely git remote add upstream https://github.com/lucent-sea/remotely git pull upstream master git push origin master
Necesitaremos también un Personal Access Token, así que vamos a https://github.com/settings/tokens > “Generate new token”
Ponemos nombre descriptivo para qué lo usaremos, caducitat, marcamos únicamente el tick de ‘repo’ y abajo pulsamos en “Generate token”,
Y nos copiamos en un lugar seguro nuestro Token, lo necesitaremos.
Una última cosina, dentro de nuestro repo de Remotely, vamos a Actions y pinchamos en “I understand…”, necesitaremos que funcionen algunas acciones de los workflows para la instalación de Remotely.
Ahora ya de verdad que podremos comenzar con la instalación, y esta vez indicaremos que no volem usar paquets precompilats, això sí, a canviarà el nostre usuari de GitHub i el Token entre altres, os dejo los passos para la seva instal·lació final:
wget https://github.com/lucent-sea/Remotely/releases/latest/download/Remotely_Server_Installer chmod +x Remotely_Server_Installer sudo ./Remotely_Server_Installer
I donde amablement hauríem de canviar les nostres respostes, os dejo com procedir amb l'assistent:
Descarregar paquet precompilat (sí/no)?
Si no, es crearà un paquet de servidor personalitzat a través de GitHub Actions.
Introduïu la resposta: no
A quin directori s'han d'extreure els fitxers del servidor (per exemple. /var/www/remotely/)?
Introduïu la resposta: /var/www/remotely
Quina és la URL pública del vostre servidor (per exemple. https://app.remotely.one)?
Introduïu la resposta: https://soporte.misitio.eso
Quin servidor web s'utilitzarà?
[0] - Caddy a Ubuntu
[1] - Nginx a Ubuntu
[2] - Caddy a CentOS
[3] - Nginx a CentOS
[4] - IIS a Windows Server 2016+
Introduïu la resposta: 1
Quin és el teu nom d'usuari a GitHub?
Introduïu la resposta: USUARIO_GITHUB
Quin Token d'Accés Personal de GitHub s'hauria d'utilitzar?
Introduïu la resposta: ghp_XXXXXXXXXXXXXX_TOKEN_XXXXXXXXXXXXXX
Crea nova versió (sí/no)?
Si no, s'utilitzarà l'últim artefacte de compilació existent a GitHub.
Introduïu la resposta: Quina versió vols compilar??
[0] - Última versió oficial
[1] - Canvis en la previsualització (és a dir. master branch)
[2] - Release específic
Enter Response: 1
...
Per cert, si os atascáis en algún paso, os dejo este video de su tutorial de instalación: https://remotely.one/Tutorials
I llest! ya tendremos el portal levantado! Recordar (igual que antes) crear una cuenta con privilegios administratius desde “Register”. Recuerda que sólo se puede por defecto registrarse una primera vez en el lloc, ningú més sense el nostre consentiment el podrà fer.
E indicarle unos credenciales,
Antes de res em vaig al tema, tenemos un apartat llamado “Branding” donde podem personalitzar la imatge del software cliente, indicando el logo de la nostra empresa, un títol, colors, tema clar/oscuro…
Quedaría alguna cosa així quan el client lo abre, precioso, i sin que tinguin que mesurar cap URL. Al agente (técnico de soporte) le podem copiar i enviar el link o directament dictarle l'ID de sessió. Ya que el agente podrá entrar también desde el portal web de Remotely desde “Remote Control”,
Cuando el agente introduzca el codi del ID de la sesión, al usuario final le saldrà un missatge para aceptar la sessió remota.
I el dit, tendríamos un control remoto de manera puntual amb alguien que lo necessite.
Por último con lo del tema, tenemos dos ficheros CSS que nos ayudarán también a customizar el frontal web, os los dejo por si queréis hacerlo un pelín más corporativo: /var/www/remotely/wwwroot/css/Themes/yeti.min.css y /var/www/remotely/wwwroot/Remotely_Server.styles.css. Bueno y os dejo este exemple de pantallazo donde se ven las descargas que se poden fer des del costat del cliente, podrá descargarse el portable instantáneo de Windows, Linux o Mac. Així com l'opció instal·lable, per a què no se lo tenen que andar instalando, però ull, aquest no és el de l'opció desatendida, que també la tenim anomenat Resilent Agent, i és el que verem a continuació.
Aquest agent que podríem descarregar una vegada ens hayem logat amb la nostra compte administrativa i podríem instal·lar-ho on volem, en un servidor remoto para administrarlo más tarde, en un equip de salto, de un client/empresa/usuari que ens interessa… Posem en “Install” no hay que cumplimentar ningún dato ya que vendrá todo embebido.
… esperem uns segons mentre instal·là…
“Close”,
Y ya tendremos en el menú “Home” los equipos que hemos ido añadiendo el agent de conexión desatendida, para connectar-nos a qualsevol d'ells serà pinchar en ell y en les opcions lo verem.
Y el tema de Scripts también existe, la possibilitat d'executar algun comandament en alguna d'aquestes màquines, o de programar-ho a algun horari… Això personalment m'interessa menys, cobreix menys la necessitat que tenia.
Ah! I espera que encara no hem acabat! Et preocupa la seguretat? doncs res, et recordo que hauries d'habilitar la doble autenticació al teu compte administratiu, així que des del menú lateral “Account” habilitarem 2FA o autenticació de dos factors. Ens sortirà un assistent on haurem d'escanejar el típic codi QR i afegir-lo a la nostra app del mòbil i copiar els codis de seguretat per si la perdem.
Espero que us hagi semblat interessant, la veritat és que és una passada, caldrà veure com creix el projecte, pero no me digáis que no es una solució buenísima para hacer conexiones remotas amb usuaris torpes o amb tus clients para algún soporte/necesidad que tengan de ti. Queda corporativa total y funcional, cumple con lo que se le pediría de sobra.
Una abraçada a tod@s, y como siempre agradeceros a los que movéis este tipus de contingut en les xarxes socials, por los likes, retuits, recomanacions… salu2!
































































