- Détails
En bon technophile, je laisse mon ordinateur allumé à la maison, et j'y accède à distance depuis le boulot et ailleurs.
J'ai commencé par utiliser LogMeIn, mais ils ont laissé tomber leur offre gratuite et sont devenus super chers... 😒
J'ai longtemps utilisé Teamviewer, mais ils sont devenus plus regardants et m'ont restreint l'usage me soupçonnant d'un usage commercial... En me proposant un abonnement super cher. 🙄
Après j'ai utilisé RemotePC. Honnêtement, c'est le moins bien des 3. Le logiciel n'est pas vraiment parfait, et l'expérience générale est moins satisfaisante que Teamviewer par exemple. Mais c'est pas cher. Jusqu'à 10 ordinateurs contrôlés pour 6,95 $ la première année (69,50 $ les suivantes). Comparés aux 350+ € des autres, c'est une bouchée de pain, et les imperfections sont tout de suite plus vivables. 😅
J'utilise Teamviewer au boulot. Il y a largement plus de 10 machines, et c'est un produit simple qui marche bien. Mais en ces temps de confinement, on a besoin de plus de prise de contrôle à distance. Teamviewer nous prend 800+ € par an pour une machine contrôlée à la fois (ils appellent ça un canal). Si on veut un canal supplémentaire, c'est 400 € de plus... 😑
Donc là on se relaie sur l'assistance technique, en attendant que le collègue arrête sa session. Un peu galère. J'ai donc cherché une alternative. Gratuite tant qu'on y est, on est quand même en 2020, on trouve tout en open source, pourquoi pas un contrôle à distance qui passe les pare-feux ?
Et j'en ai trouvé un : MeshCentral. 😁 C'est un projet issu d'Intel, pour promouvoir je pense la technologie AMT.
MeshCentral est en fait plus qu'un simple outil de prise de contrôle à distance. C'est une plate-forme de gestion de parc informatique, qui donne des infos sur les machines recensées et des accès bureau à distance, terminal, système de fichiers, etc.
Et c'est simple comme chou à installer, en plus ! 🤩 Je repompe largement la doc sur MeshCentral, ça me permet d'avoir un pense-bête si je dois le refaire.
On va avoir besoin d'un ordinateur, à peu près n'importe quoi qui fait tourner un Linux convenablement, même un Raspberry Pi. 😉 On peut utiliser aussi Windows, mais j'avais dit gratuit. 😅 Le site de MeshCentral propose un installeur tout fait, donc si ça vous tente...
Un Linux de votre choix, en ce moment j'ai un Ubuntu Core sur mon RPi, donc je vais utiliser celui-là pour la démo. 😅
Et c'est parti ! Il y a des milliards de tutos pour installer les Linux, on passe. 😁
On a besoin de Node.js et npm :
apt install nodejs
apt install npm
On va autoriser Node.js à utiliser les ports privilégiés (si votre node
n'est pas dans /usr/bin
, changez le chemin) :
sudo setcap cap_net_bind_service=+ep /usr/bin/node
MeshCentral utilise une base de données pour gérer les machines enregistrées. De base c'est un bête fichier, mais si vous pensez avoir beaucoup d'entrées, il vaut mieux passer à une base plus robuste. MeshCentral recommande MongoDB et son fichier de conf est prévu pour. 😉 Après si c'est pour les 5 ordis de la famille, c'est peut-être pas la peine.
Si vous choisissez d'utiliser MongoDB, il faut l'installer :
apt install mongodb
J'avais dit que Debian était très conservateur dans les choix de versions et de paquets. Là ça nous saute à la gueule, le repository Debian ne connaît pas MongoDB... Heureusement MongoDB a une page explicative pour y remédier. Et Ubuntu n'inclut plus MongoDB dans son repository pour cause d'incompatibilité de licence. MongoDB a aussi un manuel pour Ubuntu.
On va commencer à créer un utilisateur pour MeshCentral :
useradd -r -s /sbin/nologin meshcentral
On va créer le répertoire d'installation de MeshCentral, l'installer et corriger les droits sur le répertoire :
mkdir /opt/meshcentral
cd /opt/meshcentral
npm install meshcentral
chown -R meshcentral:meshcentral /opt/meshcentral
Et c'est bon. C'est installé. 😮
Premier lancement :
node ./node_modules/meshcentral
Si votre ordinateur a un FDQN résolvable :
node ./node_modules/meshcentral --cert <votre nom de domaine>
Et MeshCentral dit quelque chose comme ça :
MeshCentral HTTP redirection web server running on port 80.
Generating certificates, may take a few minutes...
Generating root certificate...
Generating HTTPS certificate...
Generating MeshAgent certificate...
Generating Intel AMT MPS certificate...
Generating Intel AMT console certificate...
MeshCentral Intel(R) AMT server running on top.serveur.com:4433.
MeshCentral HTTPS web server running on top.serveur.com:443.
Server has no users, next new account will be site administrator.
Notez la dernière ligne. Le système ne créé pas d'utilisateur par défaut, le premier inscrit est administrateur ! Si votre installation est accessible depuis internet, ne perdez pas de temps.
Connectez-vous à l'adresse de votre machine, et créez votre compte. Vous avez une installation MeshCentral opérationnelle. Bravo ! 🎉
On va maintenant éditer le fichier de conf (meshcentral-data/config.json
), maintenant qu'ils sont créés. Ce dont on a besoin tout de suite :
"Cert" : "<nom de domaine>",
: Pour spécifier le nom du serveur. Sans ce paramètre, MeshCentral va s'exécuter en mode réseau local et va dire aux agents de chercher en local.
"MongoDb": "mongodb://127.0.0.1:27017",
: Pour utiliser MongoDB. On relance (avec la même commande qu'au-dessus), et MongoDB est correctement alimenté.
Mais fini de rigoler, on va créer une unité systemd
pour MeshCentral. Arrêtez-le par Ctrl-C, et créez le fichier /etc/systemd/system/meshcentral.service
:
[Unit]
Description=MeshCentral Server
[Service]
Type=simple
LimitNOFILE=1000000
ExecStart=/usr/bin/node /opt/meshcentral/node_modules/meshcentral
WorkingDirectory=/opt/meshcentral
Environment=NODE_ENV=production
User=meshcentral
Group=meshcentral
Restart=always
# Restart service after 10 seconds if node service crashes
RestartSec=10
# Set port permissions capability
AmbientCapabilities=cap_net_bind_service
[Install]
WantedBy=multi-user.target
Comme toujours, adaptez les chemins et utilisateurs suivant votre installation, vous êtes grands, je vous laisse faire.
On active et on relance MeshCentral par systemd
:
systemctl enable meshcentral.service
sudo systemctl start meshcentral.service
Notre serveur est maintenant opérationnel !
Reconnectons-nous, et on tombe sur l'écran Mes appareils
, qui présente les groupes d'ordinateurs disponibles, ainsi que le statut des ordinateurs membres :
MeshCentral - Mes Appareils
Là je triche un peu, j'ai déjà créé un groupe et ajouté des ordinateurs, cliquez sur Créer un groupe
pour... créer un groupe. 😅
Chaque groupe présente une série de liens :
Ajouter CIRA
: permet d'ajouter un client Intel AMT. MeshCentral a été développé à l'origine par Intel pour gérer les appareils Intel Active Management Technology, et peut contrôler de tels appareils. Peu d'utilité pour moi, aucun de mes ordinateurs ne supporte AMT.Ajouter un agent
: permet le téléchargement des clients MeshCentral pour les OS supportés, Windows, Linux et Mac OS X. C'est ça qui nous intéresse.Inviter
: génère un lien pour télécharger le client MeshCentral. Il est possible d'en restreindre la validité dans le temps.
Téléchargez le client et lancez-le sur un ordinateur que vous voulez contrôler. L'exécutable n'est pas signé, passez outre les alertes au besoin.
Mesh Agent
C'est tout simple. Install/Update
permet d'installer l'agent (requiert droits administrateur), Uninstall
désinstalle l'agent, Connect
lance une connexion one shot.
Une fois connecté, l'agent remonte immédiatement dans Mes appareils
. Il est temps de s'en occuper !
Cliquez sur un ordinateur, en statut Alimenté
(online), sinon on va pas loin. 😆 On a lors les options de gestion :
Général
: présente les propriétés de l'ordinateur dans MeshCentral, ainsi que son historique d'activité (temps de mise sous tension). Cet affichage permet aussi de déplacer l'ordinateur dans un autre groupe, ou de le supprimer de MeshCentral.Bureau
: c'est la fenêtre de contrôle à distance graphique. On lance la session en cliquant surSe connecter
. Les boutons autour de l'affichage distant permettent le réglage de l'affichage et l'envoi de combinaison de touches spéciales.Terminal
: lance un ligne de commande avec les droits de l'utilisateur connecté. Dans le cas du client installé, c'est l'utilisateurSystem
de Windows (full droits/full power !).Dossiers
: permet de parcourir le système de fichiers de l'ordinateur distant.Evenements
: historique des actions effectuées sur le client.Détails
: diverses infos (assez succinctes) concernant l'ordinateur.Terminal
: affiche les messages éventuels du client MeshCentral, et permet la gestion de celui-ci (installation, désinstallation, mise à jour).
Regardez-moi ça si c'est pas joli, la vue Bureau
:
Bureau
C'est basé sur RDP, c'est réactif et complet.
Enjoy ! 😉
Petite note pour les clients FreeBSD (puisé du GitHub de MeshCentral) :
- Vous aurez besoin de monter
procfs
, qui n'est pas monté par défaut sur FreeBSD. Ajoutez cette ligne à/etc/fstab
:proc /proc procfs rw 0 0
- Si vous ne souhaitez pas rédemarrer, vous pouvez monter manuellement avec la commande suivante :
mount -t procfs proc /proc
- Détails
Je suis au début de la semaine, je sais, mais je complète un peu la semaine dernière.
Je me demandais la semaine dernière pourquoi certains personnels ne se manifestaient qu'après 10 jours de confinement. Mon chef me dit que c'est le temps que les divers échelons se mettent d'accord... Ça ne me surprend pas de ma glorieuse association. 😑
On arrive à avoir un créneau au drive chaque semaine, pas de problème d'approvisionnement. Bon, c'est ardu de trouver ce créneau, mais l'important c'est d'y arriver.
Je m'attendais à avoir beaucoup moins de travail après avoir démêlé les problèmes de connexion VPN et applications métier. Mais je me retrouve maintenant à dépanner les connexions et équipements personnels... Ça ne devrait pas être normalement mon problème, mais vu les circonstances, je dois me montrer plus souple. Et je me rends compte que c'est parfois bien la misère chez les gens, entre lignes anémiques et matériel anciens/suffoqués de *wares... 😑
Au départ je n'étais pas tres chaud pour avoir un deuxième enfant. Je n'aime pas m'occuper de bébés. Les couches, tout ça, c'est vraiment l'horreur pour moi. Mais finalement c'était une bonne chose. Thomas est vraiment mignon malgré toutes ses petites frasques. Et en ce temps d'isolement forcé, les enfants peuvent jouer ensemble, et s'apprécient, pour ne rien gâcher. 😉
N'empêche que j'ai beaucoup de temps libre sans les transports et la baisse d'activité. Mon projet rétrogaming m'a pas mal occupé. C'est pas complètement trivial, MAME. Et c'en est plus intéressant. 😉 Je découvre de super jeux que je ne connaissais pas, c'est génial. 😆
- Détails
Naïvement je pensais tenir ce compte-rendu tous les jours, mais je trouve toujours quelque chose d'autre à faire... 😅
Il s'est passé une semaine et demie depuis mon dernier rapport de confinement. Côté boulot ça s'est calmé tant chez Séverine que chez moi. Pour ma part les gens semblent d'être habitués à leur nouvel environnement de travail. Il y a quand même eu quelques cas de demande de reconfiguration d'ordinateur pour télétravail. Ça fait deux semaines qu'on doit télétravailler, ils ont foutu quoi depuis le temps ? 🤔
Les nouvelles sont toujours répétitives. COVID-19 par ci, COVID-19 par là, nombre de morts quotidien... On ne regarde presque plus les infos.
Je disais que le petit semblait rassuré, mais il nous parle encore souvent du coronavirus. L'anxiété ambiante doit le toucher. On n,'est pas si inquiets à la maison pourtant.
On n'a pas de difficultés particulières dans la vie quotidienne. Il faut dire qu'avec l'équipement qu'on a à la maison (presque 6 écrans par tête), on peut s'occuper. Je lis que plein de gens galèrent parce qu'ils n'ont ni équipements, ni infrastructure ni connaissance des outils numériques, ça me fait de la peine...
La seule vraie difficulté qu'on a est de trouver des créneaux de drive. Qu'on finit par avoir à force de rafraîchir le site. Problème de premier monde encore. 😅
Je tente de pallier à mon manque d'exercice en marchant dans le jardin à peu près la même durée que je marche normalement en allant au boulot. Mais j'oublie souvent le soir et ça me gave un peu...
Mon boss prend des nouvelles quasi-quotidiennement de l'équipe grâce au Jitsi Meet que j'ai monté. C'est un peu trop souvent par rapport à ce qui se passe côté boulot, je trouve. Mais ça permet de garder le contact.
- Détails
Bon, je voulais faire un petit journal de confinement comme tout le monde, surtout que c'est un blog, ici, à la base... Mais j'ai été très pris par le travail cette semaine et demie. Revenons un peu plus tôt...
Semaine 1 de ce qui allait devenir le confinement
Lundi
Les rumeurs couraient sur la fermeture des écoles et le télétravail forcé des parents obligés de garder leurs enfants à la maison... La nouvelle est tombée vendredi 13 mars. Comme je peux télétravailler sans presque aucun impact, c'est moi qui m'y colle. Séverine continue à aller travailler.
Je pensais que ça serait peut-être difficile de gérer les enfants. Mais ils ont eu des devoirs à faire, donc travail el matin, temps libre l'après-midi. Ça se passe bien. Je n'ai même pas tellement d'appels et de messages.
Le soir, la nouvelle tombe. C'est un confinment général de la population. Il faut télétravailler dans la mesure du possible. Le travail de Séverine n'a toujours pas pris de décision sur la question, elle retourne travailler le lendemain.
Mardi
Les enfants reprennent leur nouveau rythme d'école à la maison. Ils n'ont pas l'air d'être perturbés.
Côté boulot, ça explose. Ma glorieuse association attend la communication de la maison mère pour se prononcer, comme d'habitude. La maison mère, institut de recherche d'état semble pris de panique et tarde à communiquer officiellement. Ma glorieuse association réplique l'annonce pour ses propres employés, un jour plus tard.
Mais nombre d'employés se sont déjà confinés, soit pour les enfants, soit suite à l'annonce de la veille. Les gens se rappellent de l'existance d'un VPN chez nous. Beaucoup d'appels pour que je leur configure à distance et que je les connecte à l'application métier. C'est bien que mes efforts de faire un tutoriel détaillé pour ça sur l'intranet paie. 😒
Les informations ne tournent qu'autour du COVID-19. Je me demande ce que disent les gens qui disaient que ce n'était qu'une grosse grippe et qu'il ne fallait pas s'affoler...
Séverine revient avec une bonne nouvelle, elle a été choisie pour télétravailler. Oui, le travail de Séverine garde une majorité de personnel physique dans leurs locaux...
Mercredi
Un de mes nouveaux collègues me suggère de monter une plateforme de visioconférence basée sur Jitsi Meet sur notre infrastructure, les outils fournis par notre maison mère étant déjà en cours de saturation. Il m'envoie le lien vers un tuto de Framasoft. C'est simplissime à mettre en place. Mais de base, c'est ouvert à tous vents, n'importe qui peut s'amener et créer une conférence... Je monte ça pour enrayer les saturations, et je créée les conditions pour une autre... 🤔
Je galère dessus ensuite une semaine pour diverses raisons. Je voulais une authentification LDAP avec notre AD, mais je n'ai jamais compris exactement pourquoi Jitsi Meet ne contactait jamais l'AD. Je finis par laisser tomber au bout de deux jours.
Après je me rends compte que j'ai un problème de DNS... 😑 Mon Jitsi Meet déconne à plein tubes parce que les clients ne trouvent pas l'adresse... Je finis par résoudre le problème, les noms sont correctement répliqués, c'est bien.
Enfin, je vois que Webmin, qui m'a fidèlement servi toutes ces années me fait une crasse... Il utilise le port UDP 10000 pour contacter d'autres serveurs Webmin auxquels il serait associé. Mais Jitsi Meet utilise juste UDP 10000 pour les flux vidéos... 😑 Encore une journée de perdue.
On est mardi suivant, le site fonctionne enfin. Je le réplique sur un autre site en backup, et on a l'occasion de s'en servir pour une réunion. On a tout plein de problèmes, des gens qui n'arrivent pas à se connecter, des échos, tout ça...
Pourtant le système est réputé peu gourmand en ressources... Il est possible que ce soit le fait que la plupart des gens utilisent Firefox chez nous et que Firefox n'est pas super compatible avec jitsi Meet. Chrome semble bien plus à l'aise, on va recommander aux gens de l'utiliser pour les conférences, on verra ce que ça donne.
Le reste de la semaine
Pour moi ça s'est passé très vite, plongé dans mes problèmes de visioconférence. Pas mal d'appels pour configurer les accès, rien de bien méchant. Mais je n'ai pas eu une minute à moi. Heureusement, je me tiens (presque toujours) à mes horaires de télétravail, l'heure c'est l'heure. Si j'ai quelque chose en cours, je n'arrive pas à m'arrêter, mais je prends sur moi et je fais autre chose. J'ai quand même travaillé sur Jitsi Meet jusqu'à 21 h 30 vendredi, et j'ai commandé un câble USB pour un personnel qui a emmené l'imprimante de son bureau chez lui à minuit passées hier...😒
Le week-end
On a eu un week-end tout à fait normal, le confinement ne nous change pas beaucoup, on est très casaniers. Séverine pousse les enfants à aller dans le jardin, et ils résistent. 😅
Remarques diverses
Je vois que Séverine ne peut pas vraiment télétravailler. Elle commence plus tôt qu'en physique et termine plus tard. Elle n'arrive pas à faire la part des choses, ça pourrait devenir ardu à long terme.
Je disais que les enfants n'ont pas l'air de souffrir de la situation. Mais le petit s'inquiète de la nature du virus et de ce qu'il entend à la télé, les morts, tout ça. On lui explique de façon simple, honnêtement. Il a l'air rassuré.
Le monde semble avoir disparu sous le COVID-19. On ne parle plus de rien d'autre. C'est un peu lassant.
Séverine a cassé son téléphone en le faisant tomber dans la cuisine mercredi, à son premier jour de confinement. L'écran s'est complètement fissuré. Il était déjà tombé à plusieurs reprises, c'était le coup de trop. On a dû en racheter un. Un écran de Galaxy S8 c'est dans les 250 €... 🙄 Mettre ça dans un téléphone de 3 ans, c'est un peu abuser. Vaut mieux racheter le modèle de l'année pour 900. 😉
La Corée du Sud est souvent citée en modèle pour la gestion de la crise. Je sais qu'il y a des différences culturelles mais comment un pays comme la France peut autant galérer par rapport à la Corée ? Le New York Times analyse le cas coréen et suggère pourquoi son modèle n'est pas transposable.
Ah, et j'ai découvert que mon mode de vie préféré s'appelle confinement. 😑