Mon PC dans le Cloud

Comme vous le savez sans doute si vous me suivez sur Twitter, ou si vous avez lu l’épilogue de ma série de billet « 25 ans dans une startup », je travaille en région parisienne trois jours par semaine et je suis deux jours en télétravail dans ma province profonde (mais belle). Je précise que cette organisation a été mise en place AVANT le confinement de mars 2020, car j’ai la chance d’avoir un employeur moderne. J’en ai fait le bilan dans ce billet consacré au télétravail.

Mon employeur a mis à ma disposition un ordinateur portable qui me suit partout, et j’ai un ordinateur fixe personnel chez moi dans ma province profonde (mais belle) ET un ordinateur personnel chez moi dans ma « coquette petite studette en souplex » de région parisienne. J’ai également installé une VM privée sur mon ordinateur professionnel.

Cela fait donc 3 ordinateurs privés sur lesquels je veux retrouver les mêmes outils, les mêmes habitudes, les emails déjà lus, les mêmes partages de fichiers, etc.

Tout allait bien dans le meilleur des mondes, mais j’étais un peu agacé parfois de devoir synchroniser à la main une configuration, installer trois fois un nouveau logiciel, et maintenir des partages de fichiers en toute sécurité. N’était-il pas possible de simplifier un peu tout cela ?

J’écoutais, de plus en plus séduit, l’appel des sirènes du Cloud. Je voyais passer dans ma veille technologique des appels appuyés en direction des gamers pour qu’ils basculent leurs configurations vers des solutions telles que Google Stadia, Nvidia Geforce Now, xCloud de Xbox ou PlayStation Now. Des gamers ! Alors, pourquoi pas un petit PC perso avec sa petite configuration aux petits oignons ?

Oui mais et ma vie privée dans tout cela ? Et le coût ? Et la sécurité ? Après tout, le Cloud, ce n’est rien d’autre qu’un datacenter géré par quelqu’un d’autre et accessible de partout depuis un accès internet. Il faut se poser les bonnes questions : qui fera les sauvegardes, les mises à jour de sécurité, les montées de version des logiciels et des OS, qui sera « root » sur mes données ?

Autant de questions auxquelles il m’a bien fallu répondre pour l’hébergement de ce blog : après avoir testé l’autohébergement d’un WordPress sur YunoHost, j’ai préféré et choisi la location d’un VPS chez OVH, avec son offre Kimsufi à 3,59€ par mois. Je fais régulièrement un backup (et des tests) sur le WordPress de mon YunoHost. Je présenterai mon usage de la fantastique solution YunoHost dans un billet qui lui sera dédiée.

Oui MAIS : faire héberger un blog, ce n’est pas tout à fait la même chose que de faire héberger la totalité d’un ordinateur personnel… Et après avoir étudié les coûts, les solutions proposées, les risques, le coût des sauvegardes et la sécurité, voici ce que j’ai choisi.

A cause des coûts, j’ai abandonné la notion de « datacenter géré par quelqu’un d’autre » pour ne garder que celle de « accessible de partout depuis un accès internet ». Comme les solutions de type TeamViewer demandent de confier la partie sécurité à quelqu’un d’autre, j’ai donc choisi l’autohébergement complet de ma solution :

J’ai viré de mon ordinateur professionnel, la VM privée que j’y avait installé. J’ai entièrement réinstallé l’ordinateur personnel de ma coquette studette souplex pour n’y laisser que le système d’exploitation (Linux Mint, mais cela aurait aussi bien pu être Windows). Je n’ai conservé qu’un seul ordinateur personnel : celui qui se trouve chez moi.

J’y ai installé le logiciel NoMachine qui est ce que j’ai trouvé de plus efficace pour gérer deux écrans, les périphériques USB et le son à distance.

J’ai configuré le Wake On Line du PC de la manière suivante :
– dans le BIOS, j’ai activé « démarrage sur périphérique PCI-E » ;
– dans l’OS Linux Mint, j’ai activé le WoL avec la commande : sudo ethtool -s enp3s0 wol g

Depuis un PC distant, j’accède de manière chiffré à mon réseau privé grâce à OpenVPN en me connectant sur mon serveur NAS (qui fait tourner le service VPN), puis dans ce canal sécurisé je me connecte en ssh à ma VM Debian (voir le billet « Mon matériel »)

J’allume (depuis cette VM) mon PC perso avec la commande : wakeonlan -i IP -p 9 MAC où IP est l’adresse de broadcast de mon réseau privé et MAC l’adresse MAC du PC perso que je veux allumer.

Une fois démarré, j’y accède avec le client NoMachine (à travers le canal chiffré OpenVPN), et j’utilise mon « PC dans le Cloud » 🙂

Comme il est sous GNU/Linux, je peux si je veux le laisser allumer plusieurs jours sans surprise, si par exemple je lance sur ma carte graphique des calculs durant plusieurs jours.

Quelques remarques avant de vous laisser la parole en commentaire (je suis curieux de connaître vos solutions) :
– la solution NoMachine est vraiment puissante et efficace dans sa gestion des débits internet concernant les graphismes. Seul défaut relevé pour l’instant, elle ne gère pas ma Yubikey USB.
– l’accès par OpenVPN / ssh pour WoL / client NoMachine fonctionne également sous Android ou sur iPhone (pour la commande ssh sur iPhone, j’utilise l’excellente application a-shell).

Et vous, comment accédez-vous à un PC privé à distance ?

Source image https://www.pinterest.fr/pin/471963235926834775

17 réflexions sur « Mon PC dans le Cloud »

  1. Salut,

    J’arrive peu ou prou à ce que tu as mis en place, si ce n’est pour ma part l’utilisation de plus en plus importante de Nextcloud dans mon quotidien – ce qui implique aussi ma petite tribu que je convertis année après année (calendrier partagé, documents en ligne, sauvegarde…) –.

    Je m’aperçois que nos périphériques prennent moins importance avec le temps, et que l’accent est mis sur nos données personnelles qui doivent être sécurisées (sauvegardes, accès, pérennités) tout en étant disponibles depuis internet par un système de synchronisation (pour pouvoir travailler en local le cas échéant).

    Pour ma part, je suis amené à travailler sur 5 périphériques différents (PC Linux/Windows smartphone) et j’ai reconverti un ancien PC portable pour l’autohébergement (Yunohost/Nextcloud) que j’ai placé à la maison (vive la fibre).

    Presque tous ces outils fonctionnent en ligne depuis un simple navigateur internet et mon Firefox synchronisé fait office de pierre angulaire à mon travail au quotidien.

    Donc finalement, je dépends de moins en moins d’un système d’exploitation ce qui me rend particulièrement flexible lorsque j’ajoute un nouveau composant.

    Je pense avoir pris un peu en avance sur la majorité d’entre-nous.

    • Je ferai un prochain billet sur mon YunoHost sur Raspberry Pi avec disque dur US, et qui héberge mon NextCloud (pour les sauvegardes des ordinateurs portables de mes enfants), mon FreshRSS et mon WordPress de sauvegarde.

  2. L’ennui de ce type de solution est que si ton PC chez toi est HS, volé, si le WOL tousse ou si ta connexion Internet maison foire, tu loses.

    L’autre inconvénient est le temps de réponse d’une GUI déportée (viens tester l’ADSL de ma Chérie tu m’en diras des nouvelles…)

    Pour le confort de travail un affichage déporté m’a toujours paru un no-go, nomachine ou pas.

    Perso voici comment je procède :

    Bien sûr chez moi il y a un NAS Linux pas trop lamentablement sécurisé et accessible à distance, bien sûr.

    Contrairement à toi j’ai « n » PC persos (dont effectivement aussi une VM perso sur PC boulot) tous sous Linux of course, différentes distros (i.e. Arch, Manjaro, Fedora…)

    À chaque fois que j’installe un “nouveau” PC perso, pas bien souvent il est vrai, je le fais soit en restaurant une sauvegarde d’une machine que j’ai déjà et en renommant la bécane (LOL) soit j’installe à blanc (si j’ai besoin d’une distro différente, d’une install fraîche, ou des contraintes disque) MAIS je récupère une sauvegarde du /home d’une autre de mes bécanes comme ça je retrouve mon environnement de travail (configs, etc).

    Ensuite de quoi, c’est là la grosse astuce, tous mes fichiers et “Documents” eux, sont chiffrés (localement) avec un outil de type ecryptfs et le répertoire container chiffré est synchronisé en permanence sur un provider “cloud”.

    Ainsi chacun de mes PC a une config de travail très proche, une *copie locale* de tous mes fichiers et documents qui me permet de travailler en autonome même hors connexion et, dès que je me connecte, la synchro cloud fait sa magie et me permet de récupérer les documents crées ou modifiés sur une autre machine et d’uploader automatiquement vers le cloud les fichiers créés ou modifiés sur la machine courante.

    Pas besoin de préciser le fournisseur cloud, il suffit qu’il ait un client Linux correct, j’utilisais autrefois Lacheboite, maintenant j’utilise autre chose 🙂 mais OSEF puisque le provider cloud ne reçoit qu’une version chiffrée de tous les fichiers.

    Enfin, pour le mail, Thunderbird en IMAP chez mon fournisseur mail maintient mon mail en sync sur toutes les machines, rien de spécial à faire.

    Et pour les favoris web, j’utilise la fonction de synchro intégrée à Firefox – pas pour les mots de passe, hein.

    Pour les fichiers et documents, je maintiens bien évidemment des sauvegardes journalisées sur d’autres supports que le cloud. Parce que. Mais comme chacune de mes machines est déjà une sauvegarde (une énième copie à jour) per se…

    L’idée est de n’avoir autant que possible de SPOF nulle part.

    Voilà voilà, that’s pretty much all about it.

    • Merci pour cette description et ce partage. Mais si tu ajoutes une nouvelle boite email, tu dois l’ajouter sur toutes tes machines. Idem si tu adoptes un nouveau logiciel… Il y a les données, et les logiciels.

      Sinon, pour répondre à ta remarque :
      « L’ennui de ce type de solution est que si ton PC chez toi est HS, volé, si le WOL tousse ou si ta connexion Internet maison foire, tu loses. »
      1) C’est tout l’intérêt des sauvegardes, non ?
      2) Si le WoL merdouille, j’appelle la maison et quelqu’un appuie sur le bouton « start »
      3) Si la connexion internet foire, c’est mort. D’où la deuxième box chez un autre opérateur.

      Enfin, ton autre point :
      « L’autre inconvénient est le temps de réponse d’une GUI déportée (viens tester l’ADSL de ma Chérie tu m’en diras des nouvelles…) »
      c’est effectivement un pré-requis. Mais maintenant que j’ai la fibre partout \o/

  3. Salut,
    Sur un vieux laptop de 2009, j’ai une debian (bullseye) sur laquelle j’ai mis en place un reverse proxy Nginx. un certificat letsencrypt associé à un service DNS dynamique gratuit ( dynu ) et quelques règles fail2ban bien sûr. J’y accède donc en https uniquement et selon l’adresse https://monserveur/mondossier, je redirige : soit vers le serveur web de base, soit vers le port du serveur geneweb pour y saisir quelques nouvelles trouvailles, ou au serveur WebDAV pour accéder après identification à mon disque de sauvegarde externe branché en USB. Ces deux derniers services sont mes principaux besoins via un accès externe donc pas de problème de latence. En local, j’accède essentiellement par le bureau à distance grâce à XRDP (la carte vidéo est HS) soit depuis un W10 pro, soit depuis un autre Linux pour profiter de l’interface graphique. Bien pratique quand même 😉 Je crois que j’avais réussi à faire du RDP depuis l’extérieur mais j’avais lu que le protocole n’était pas bien sécurisé pour cet usage donc j’avais désactivé cette possibilité. L’accès SSH reste possible si je redirige le port de la box internet qui va bien pour éteindre la machine une fois terminées mes bidouilles. Voilà j’ai à peu près fait le tour … ah si en local, il fait aussi office de serveur SMB et DLNA … sinon, pour le WOL, bah ça fonctionne bien tant qu’il n’y a pas eu de coupure de courant depuis sa dernière extinction !! A+

    • Merci Arnaud pour ce retour : cette config ressemble à ce que j’avais mis en place avant d’avoir un NAS Synology qui m’a bien simplifié la vie et qui a augmenté la fiabilité du système (j’en suis maintenant au 3e NAS acheté chez eux…)

  4. C’est juste, il y a les données et les logiciels, mais mon use case à moi est que je n’ai pas forcément besoin des mêmes logiciels partout, les machines et les lieux où elles se trouvent ayant en partie des rôles différents – et des puissances différentes aussi.

    Pour “l’intérêt des sauvegardes” bien sûr, mais ce que je voulais dire est que si ton PC à la maison est indisponible pour quelque raison que ce soit, pendant ce temps – jusqu’à ce que tu rentres chez toi et répares – ton système est indisponible.

    Dans mon use case à moi, il m’arrive d’être pour d’assez longues durées absent de mon domicile, et personne n’y est alors pour intervenir. Je ne voudrais donc pas être tributaire d’un système sur lequel je ne pourrais pas intervenir – bon ce n’est que partiellement exact, je suis tout de même tributaire d’une paire de Raspberry Pi, mais ils sont d’une fiabilité à toute épreuve 😉

    Bonne journée.

    • Tu appuies là où ça fait mal : le SPOF de la fibre… Mais j’envisage de dupliquer le PC sur celui de mon petit appart de région parisienne, où j’ai aussi la fibre.

      Au final, ça sera sans doute plus simple et moins cher de louer un PC dans ce fichu Cloud /o\

  5. Très intéressant.
    Pour ma part, j’avais testé un setup assez semblable au votre, mais je me suis heurté à 2 points :
    – je n’ai pas de PC allumé H24 chez moi, hormis le serveur d’auto-hébergement de la maison. Que du linux headless et sans carte graphique (un très ancien mais encore vaillant hp proliant G7 N54L).
    – la latence d’avoir une « vraie » interface desktop déportée depuis une VM dans le serveur sus-mentionné est juste horrible, entre la virtualisation, le pas de carte graphique, et le réseau, c’est inutilisable, même avec la fibre.
    Du coup, j’ai opté pour une autre architecture, étant donné mes besoins (qui ne vous correspondent pas forcément, si vous faites du machine learning) : serveur kimsufi dédié pour les services always-up (entièrement backupé à la maison sur le N54L qui peut prendre la relève à coup de changement DNS si le kimsufi a un vrai problème). Ces services sont :
    – nextcloud familial pour la synchro/distribution des fichiers/agendas/contacts/recettes de cuisine/messagerie familiale/etc…
    – serveur git (gitea qui est vraiment léger et au top) pour stocker tout ce qui est code (ou assimilé) ou qui a besoin d’être versionné
    – pour l’édition de code (ou assimilé), soit un IDE sur chaque poste, soit un IDE web hébergé sur le kimsufi (codiad) synchronisé avec le gitea
    – pour le mail, c’est du classique (postfix/devocot/etc…) aussi sur le kimsufi (avec NDD familial), et du fecthmail pour y centraliser tous les autres comptes d’autres fourniseurs, avec un webmail (rainloop) pour la consultation.

    Du coup, seul un Firefox est nécessaire pour l’usage normal, vu que tout passe par le web. Bien sûr, le tout est chiffré, sécurisé, backupé dans les règles de l’art.

    C’est pour le jeu PC que j’ai dû faire le plus de compromis. Acheter un PC dédié à la maison n’était pas WAF-compliant et me couterait vraiment cher (le seul PC familial est un intel NUC d’il y a 7 ans, parfaitement suffisant pour tout le reste), alors, j’ai opté pour une offre « cloud ». Pour le moment, l’offre gratuite GeforceNow me convient, malgré ses quelques limitations et me permet de jouer aux jeux que j’aime depuis n’importe où (PC, smartphone, TV, etc…), du moment que la connexion est suffisante. Et depuis cet été, on peut même jouer depuis un navigateur, donc on reste dans le « tout-web ».

    C’est sûr qu’on perd un peu de la magie d’internet à tout faire passer par du https, mais ça peut aussi avoir certains côtés pratiques (je pense au pare-feu/proxy de mon employeur actuel configuré très (trop ?) strictement et qui n’autorise que le web, en plus de l’interdiction d’avoir des VM sur notre poste)

    • Merci pour ce retour intéressant, et qui illustre bien ce que peut être l’avenir. Pour l’instant, je n’ai fait qu’une bascule partielle vers le cloud, mais j’observe les évolutions, surtout si cela simplifie l’admin sans sacrifier la vie privée et la sécurité.

  6. cocnernant l’equivalent une image parlera mieux qu’un long, tres long discours
    https://prntscr.com/upqejm
    mais pour résumer Proxmox
    alors oui cela se met pas en place en 5 minutes
    mais une fois les template preparés c’est que du bonheur
    y compris un server 2016 WDS/MDT ppour deplyer ses machine perso ou ses serveur par exemple
    sinon qq petit script pour deployer ce que l’on veut

    nous sommes dans un métier de « fainéant », il faut travailler en amont pour etre « tranquille » ensuite, profiter de ce que l’on a mis en place

    par contre yunohost, j’ai beaucoup de mal a comprendre l’intérêt
    pourquoi ne pas utiliser un container dans Proxmox sous debian 10
    voir plusieurs pour dissocier les services et meme avoir une redondance d’apache et /ou mysql ?

    • Concernant Proxmox, je suis en train de tester les 3 configurations suivantes sur mon HP micro server Gen8 :
      – VMware ESXi (image fournie par HP) – conf actuelle
      – OpenMediaVault – conf précédente
      – Proxmox – conf à tester

      Le choix se fera uniquement sur les performances d’accès aux disques de la carte Raid ajoutée récemment, car avant tout ce serveur est utilisé pour stocker les sauvegardes. L’ajout d’un hyperviseur a été un plus pour ajouter un peu de souplesse et avoir des VM déportées de mon PC et faciles à gérer. Mais le processeur du HP Gen8 n’est pas assez puissant pour faire tourner un PC perso en VM.

      D’où l’idée toute simple que garder un PC perso physique auquel j’accède à distance.

      Sur l’aspect YunoHost, c’est justement l’aspect « fainéant » qui m’attire : j’ai pu très simplement monter un NextCloud, un FreshRSS et un WordPress, sur un seul serveur et gérer ces services de manière centralisée et SIMPLE. Exit les configurations manuelles des serveurs Web, des bases de données : tout a été mis en place par la communauté YunoHost pour que « ça marche ».

      Concernant les images Docker, pour l’instant, je trouve tout cela très confus, et j’ai du mal à mettre tous les services dont j’ai besoin dans autant de ressources. Les goûts et les couleurs…

  7. personnellement je ne cloud pas. du tout.
    déjà la solution présenté c’est peut ou prou du « through cloud »
    deux augments menant a cela.
    – le PC personel « serveur de service d’application  » est utiliser comme un « IaaS »
    – la jonction au IaaS est fait via un tunnel qui n’est pas fournit par le IaaS.
    => ce n’est pas du cloud.

    vue l’infra au temps le voir comme un réseau MPLS. (réseau de tunel privé au travers de la toile)

    pour ce qui est de la « portabilité des données » je suis sur une base de couple téléphone portable, et clef USB.
    OK le téléphone portable n’est pas sécurisé et n’a pas de service de serveur d’application, mais le support du Vdisk d’une VM peu se partagé sur plusieurs hardware depuis une clef.
    cela deviens juste chiant celons la solution de chiffrage de la clef ou des données sur la clef…

    j’ai un ami qui cherche son bonheur du coté de docker. emportant sur clef les conteneurs qu’il a besoin. ( pour cela il faut tout de même que l’os hôte est un gestionnaire de conteneur et que le conteneur soit adapté(able) a l’OS de cette machine. (rendre un conteneur adaptable peut devenir très lourd en espace de stoquage du conteneur)

    déjà avant de se lancer dans le cloud il faut je pense distingué son besoin :
    IaaS, PaaS, SaaS.
    soyons franc, le besoin réel c’est très souvent du SaaS :  » j’ai besoin de faire « qq chose » en situation de mobilité.
    si on ajoute des besoins de maîtrise de la confidentialité et qu’on abandonne la très haute disponibilité, on quitte complètement la philosophie cloud.

    déjà quel est le besoin de mobilité ?
    fondamentalement si tout les site de travail sont « maîtriser » et définit. même pas besoin de tunnel, de configuration pointus. un boot sur une clef USB chiffré suffira largement. pour un coup initial fort, mais sans le moindre abonnement ni besoin d’une connexion réseau.

  8. Bonjour,

    Je ne comprends pas cette histoire de « esxi image fournie par hp ». Vous avez une licence ESXi ou elle est fournie avec l’achat du HP ou autre chose ?

    Cordialement

    • Bonjour, ESXi est un produit gratuit et HP en fournit une image « tunée » avec les bons pilotes pour un serveur Micro Gen8. Il suffit d’aller sur le site du support HP pour la télécharger.

  9. Bonjour,
    Je découvre ce blog et ces articles très interessant.
    Merci pour vos publications.
    Connaissez-vous dwservice.net ?
    Je serai ravi d’avoir votre retour.

    • J’essaye dans la mesure du possible de minimiser les risques informatiques, et un tel outil me semble trop dangereux a priori. Mais je garde le lien sous le coude, merci du partage.

Les commentaires sont fermés.