Installation du serveur et du client Remotely

Open source Remote desktop Télé-assistance Contrôle à distance Remotely

Dans ce billet je vais vous présenter Remotely qui est une autre alternative libre, gratuite et auto-hébergeable à Teamviewer ou Anydesk.

À l'origine, Remotely a été créé par Jared Goodwin en 2019. En 2023, il a rejoint l'entreprise ImmyBot. Cette dernière a intégré Remotely à son offre logicielle RMM. Remotely est donc actuellement maintenu par ImmyBot et distribué sous la licence GPL-3.0.

ask-remote

Dans les grandes lignes :

  • Remotely propose soit d'utiliser un client du type "Instant desktop sharing" soit d'installer le client en mode agent persistant.
  • Ensuite la prise en main à distance ne se fait pas depuis le client mais depuis la console centrale web.

Note : l'interface web de prise en main à distance est en version beta au moment où j'écris ce billet.

  • Avoir un nom de domaine de portée globale (plus simple pour la mise en place du HTTPS avec Let's Encrypt)
  • Une machine virtuelle ou pas avec Docker pour faire tourner le serveur
  • Un reverse-proxy (j'utilise Nginx car déjà existant sur mon infra bien que Caddy soit recommandé)
  • Des machines clientes sous Windows (ou Ubuntu si vous voulez)

J'utilise une VM debian sur Proxmox avec Docker installé dessus.

root@srv-docker# mkdir -p /srv/remotely/data
root@srv-docker# cd /srv/remotely/
root@srv-docker:/srv/remotely# vim docker-compose.yml 

version: "2"
services:
  remotely:
    image: immybot/remotely:latest
    ports:
      - 5000:5000
    volumes:
      - ./data:/remotely-data

root@srv-docker:/srv/remotely# docker compose up -d

Sur le serveur reverse-proxy : j'ai utilisé certbot avec le challenge DNS puis j'ai configuré/adapté la configuration fournie par ImmyBot sur https://hub.docker.com/r/immybot/remotely

Avant de se connecter au portail web, j'ai arrêté le conteneur puis j'ai édité le fichier data/appsettings.json afin d'y renseigner :

  • L'adresse IP de mon serveur proxy dans le paramètre KnownProxies (mettre l'IP de son RP entre guillemet) / Ce paramètre est très important sinon le serveur ne verra que l'IP du reverse-proxy et non celle des clients.
  • Les informations sur mon serveur mail dans les paramètres SMTP.

J'ai ensuite relancé le conteneur et je me suis connecté au portail.

Capture%20d%E2%80%99%C3%A9cran%20du%202023-07-19%2016-31-18

Il n'y pas d'utilisateur par défaut. Vous devez donc vous enregistrer. Le premier utilisateur enregistré devient l'admin du serveur.

Vous pouvez personnaliser différents paramètres de votre tenant comme le "Branding" afin d'intégrer par exemple votre logo aux clients.

Dans le cas d'un besoin d'assistance à distance temporaire, l'utilisateur demandeur peut se rendre sur le portail sans s'authentifier et récupérer l'exécutable dans la rubrique Donwload.

Capture%20d%E2%80%99%C3%A9cran%20du%202023-07-19%2016-30-30

Pour cet exemple, j'ai utilisé un VM Windows 11.Une fois l'exécutable téléchargé, lancez-le puis une fenêtre s'ouvre (après le smartscreen de WIndows).

Capture%20d%E2%80%99%C3%A9cran%20du%202023-07-19%2016-37-36

Le client ne remonte pas automatiquement sur le console web. Il faut donc soit communiquer l'ID soit communiqué le lien obtenu en cliquant sur "Invite link".

Si vous êtes authentifié sur le portail et que vous utilisez le lien, vous arriver directement sur ce formulaire. Si vous n'êtes pas authentifié, Remotely vous présentera d'abord le formulaire d'authentification.

Capture%20d%E2%80%99%C3%A9cran%20du%202023-07-19%2016-40-19

Attention avant de valider : par défaut les chiffres sont renseignés sans espace et si on valide sans re-saisir l'ID de session avec les espaces comme présentés dans l'image précédente, nous ne pouvons pas nous connecter.

Une fois l'ID re-saisie, validez le formulaire afin de prendre la main sur le PC.

windows11-remotely

Une fois authentifié sur le portail, rdv dans la rubrique Donwloads puis téléchargez l'agent Windows dans la partie Resident Agents installez-le.

Capture%20d%E2%80%99%C3%A9cran%20du%202023-07-19%2017-07-07

Une fois l'agent installé, celui-ci remonte sur le portail web.

pc01

En cliquant sur le nom du PC, on obtient des informations plus détaillées avec la possibilité de lancer des actions comme la prise en main à distance.

pc02

En cochant le PC, on peut également exécuter des commandes en mode CLI sur le poste.

pc03

Serveur Windows 2016

Pour installer l'agent sur un serveur Windows 2016, j'ai du d'abord installer le framework .NET en le récupérant ici https://dotnet.microsoft.com/en-us/download/dotnet-framework.

Il est possible de créer des utilisateurs et des groupes et de gérer leur accès aux clients.

Dans cet exemple, j'ai configuré deux groupes dans la rubrique Organization :

  • Techadmin : accès aux serveurs et aux PC.
  • Techlog : accès uniquement au PC pour du support fonctionnel logiciel par exemple.

Ensuite j'ai créé deux utilisateurs :

  • techadmin01 faisant parti des deux groupes afin d'accéder aux serveurs et aux PC.
  • techlog01 faisant parti du groupe Techlog qui ne pourra accéder qu'aux PC.

Enfin j'ai attribué le serveur (ici DC01) au groupe Techadmin en cliquant sur le nom du serveur dans la rubrique Home et le PC au groupe Techlog.

server01

J'ai fait de même pour le PC en l'attribuant au groupe Techlog.

Ainsi quand techadmin01 se connecte au portail, il voit le serveur et le PC avec lesquels il peut interagir tandis que techlog01 ne voit que le PC.

Lors de l'installation de l'agent permanent, j'avais coché l'option "Support Shorcut". Losque le demandeur lance ce raccourci, une page web demandant des renseignement s'ouvre.

Capture%20d%E2%80%99%C3%A9cran%20du%202023-07-19%2018-23-07

Une fois le formulaire validé, une notification apparaît en haut à droite sur le portail web en plus d'un email de notification.

Capture%20d%E2%80%99%C3%A9cran%20du%202023-07-19%2018-24-11

Plus limité que Rustdesk en termes de supports des OS et des fonctionnalités au niveau client, il pourrait cependant devenir un compétiteur sérieux, dans le cas d'un usage entreprise, à la version payante de Rustdesk en étant plus simple et plus intuitif dans la prise en main de la console centrale de gestion. Les options que l'on retrouve dans les RMM comme la possibilité de lancer des commandes à distance sont clairement un plus. À noter que vous pouvez créer plusieurs tenant sur le même serveur.

À voir comment évolue le projet sachant que sa reprise par ImmyBot est relativement récente.

Article précédent Article suivant