Bon, on va pouvoir l’avouer maintenant, tous ceux qui se la racontent parce qu’ils peuvent prendre le contrôle à distance de leur joli Mac, ont la même galère depuis que FileVault existe… En effet, après une coupure de courant ou une mise à jour du système, votre super serveur Mac redevient une boite à chaussure jusqu’à ce que quelqu’un déplace son gros cul d’admin sys pour taper le mot de passe sur un clavier tout ça.
Et là, on a
Jeff Geerling qui nous annonce
l’air de rien qu’Apple vient enfin de “légaliser” la bidouille qu’on utilisait tous en douce à savoir déverrouiller FileVault à distance via SSH dans macOS Tahoe.
Ce qui était donc avant une astuce d’admin système un peu à la one again (script d’autologin / désactiver le chiffrement…etc) devient maintenant une fonctionnalité officielle. Sous macOS 26 Tahoe, si vous activez la “Session à distance” dans les réglages de partage, vous pouvez maintenant vous connecter en SSH avant même que l’utilisateur se soit authentifié. Un admin tape son mot de passe à distance et hop, le Mac démarre complètement.
La documentation officielle
explique même que le SSH se déconnecte brièvement pendant le montage du volume, puis revient. C’est la classe !
Par contre, petit détail qui tue, c’est censé fonctionner en WiFi mais Jeff Geerling qui a testé l’astuce n’a réussi à se connecter qu’en Ethernet. Il pense qu’en Wifi, ça ne passe pas parce que les clés réseau sont dans le Keychain, qui est lui-même chiffré sur le volume verrouillé. C’est le serpent qui se mord la queue (oui, vous le savez d’expérience, ça fait mal de se mordre la queue)… Du coup, tous ceux qui ont des Mac mini planqués derrière leur télé en mode serveur Plex, vont devoir tirer un petit câble RJ mais bon, vrai bonhomme fait vrai réseau en Ethernet, le Wifi c’est pour les faibles, ouga-ouga !
Cette nouvelle fonction arrive pile poil au moment où Apple change aussi la façon dont FileVault stocke les Recovery Keys.
Selon TidBITS
, fini le stockage basique dans iCloud, maintenant c’est dans l’iCloud Keychain avec chiffrement de bout en bout.
Quoiqu’il en soit, cette fonction très pratique pour les admins autorise quand même potentiellement de nouvelles attaques pre-auth sur les Mac, car avant, un Mac avec FileVault activé était une forteresse imprenable au démarrage. Mais maintenant, si vous avez activé le SSH distant, il y a une nouvelle surface d’attaque avec laquelle s’amuser. Alors oui, faut toujours le mot de passe admin mais bon, c’est moins sympa qu’une vraie sécurité physique…
En tout cas, tous les vieux de la vieille qui gèrent des fermes de Mac mini pour du CI/CD ou du rendu sont aux anges ! Plus besoin de supplier le stagiaire d’aller dans la salle serveur après chaque reboot, par contre, les puristes de la sécurité font un peu la grimace car cette connexion SSH, c’est du password-only pour l’instant. Apple a encore fait les choses à moitié, comme d’hab.
Et si je vous disais que pendant que vous galérez avec PuTTY et son interface à la Windows 95, ou que vous payez 119 balles pour SecureCRT, il existe un gestionnaire SSH moderne, gratuit et absolument magnifique qui attend tranquillement que quelqu’un le remarque ?
Hé bien c’est exactement ce qui se passe avec
SSH Pilot
dispo pour Linux et macOS, et je trouve ça vraiment bizarre que personne n’en parle. Quand je suis tombé dessus, c’est vrai que j’ai cru à un énième fork de Terminator ou un wrapper autour de tmux, mais non, c’est un vrai gestionnaire de connexions SSH développé par
mfat
, avec une interface moderne en libadwaita/GTK4, c’est à dire le truc le plus propre que GNOME ait sorti ces dernières années.
Alors j’ai creusé un peu, je l’ai installé, et là, révélation. Cette appli fait TOUT ce qu’on attend d’un gestionnaire SSH moderne : des onglets pour jongler entre les connexions, un gestionnaire SFTP intégré qui s’ouvre direct dans Nautilus, la génération de paires de clés en deux clics, le port forwarding (local, remote, dynamic), et même le regroupement de serveurs pour ceux qui gèrent des “fermes” entières. Ah et toutes les infos de config sont chiffrées sur votre disque dur.
On peut aussi naviguer entièrement au clavier dans l’appli, ce qui est super pratique. Ctrl+L pour passer de la liste des serveurs au terminal, Ctrl+F4 pour fermer un onglet, Alt+flèches pour switcher entre les tabs. C’est tellement bien pensé que ça en devient suspect ^^.
Car quand on gère plusieurs serveurs, on s’y perd vite si on n’est pas organisé ! On jongle avec des dizaines de connexions SSH, on tape des alias bash à rallonge, on installe des extensions tmux incompréhensibles…
Alors pourquoi SSH Pilot reste si peu connu alors qu’il est trop méga super génial ??? Hé bien j’ai ma petite théorie…
Dans le monde Linux, on a tellement d’alternatives pour chaque truc qu’on finit par se noyer. Quand on cherche un client SSH, on a PuTTY, KiTTY, SuperPuTTY, mTPuTTY, Solar-PuTTY, Bitvise, Tabby, MobaXterm, Termius, SecureCRT… et j’en passe. Trop de choix qui tue le choix !
Bref, jetez un oeil SSH Pilot, ça vous changera des client SSH avec une interface de Minitel.
Gros fan et utilisateur du terminal Asbru-CM, j’ai de temps en temps besoin de pouvoir utiliser ça en mobilité. Je m’étais équipé d’une instance de SSHwifty. Cherchant un terminal, gratuit, à héberger et avec plus de fonctionnalités, mon choix s’est arrêté sur Nexterm qui ne manque pas d’options !
CAUTION Nexterm is currently in early development and subject to change. It is not recommended to use it in a production environment.
Identifiants user:pwd ou clés
2FA
Gestion d’utilisateurs
Gestionnaire de sessions et d’identifiants
SSH, sFTP, VNC, RDP, Proxmox (LXC et Qemu)
Gestion de « snippets », raccourcis de commandes à utiliser en terminal
Gestion de scripts avec raccourcis
Possibilité de déployer des Dockers
Intégration de l’IA, par exemple via un compte OpenAI pour avoir de l’aide dans un terminal
Options esthétiques…
Ok, tout n’est pas utile évidemment.
Pour l’installer, il faudra avant générer une clé de chiffrement via openssl rand -hex 32
Aussi disponible via template sous UNRAiD, attention, il manque la variable de clé de chiffrement… Je doute que ça se lance sans d’ailleurs. Il faut ajouter la variable ENCRYPTION_KEY et sa valeur
Une fois un compte créée, on peut paramétrer l’interface
Créer des identités qu’il faudra ensuite lier aux serveurs ajoutés. On peut donc utiliser soit un mot de passe soit une clé SSH.
Comme je l’écrivais, on peut ajouter de l’IA. J’ai testé rapidement, je vous montre ça ensuite.
La partie serveurs, qu’on peut organiser en dossiers, est simple et intuitive.
Choisir ou créer une identité liée
Si on active le monitoring, on l’a sur le panel homonyme avec des infos basiques mais suffisantes. A noter que ça ne me retourne jamais de version de l’OS. Je ne suis pas surpris pour UNRAiD ou Synology mais c’est plus étonnant pour Debian, Garuda (Arch) et Ubuntu. Comme indiqué sur le site, l’outil est encore à un stade de développement peu avancé.
On peut accéder à chaque serveur en même temps, dans un onglet séparé. En revanche attention si un travail est en cours, cliquer sur un autre menu dans le même onglet (du navigateur) ferme toutes les sessions.
Version sFTP, avec téléchargement, création de dossiers, édition/renommage.
On ne peut en revanche pas (encore ?) visualiser de photo ou vidéo. D’un autre côté c’est pas le but d’un FTP…
Après les clés SSH, l’une des options que je cherchais absolument était la possibilité de créer des raccourcis (alias) de commandes, qui soient globaux pour chaque terminal (et non ajouter des alias sur chaque machine). Par exemple taper « upgrade » ou cliquer un bouton (cette option avec Nextrem) qui envoie la commande sudo apt update && sudo apt upgrade -y On peut créer les snippets via le menu et ensuite les utiliser avec l’icône en haut à droite du terminal (qui se voit plus ou moins bien selon le thème…). J’ai pris des exemples basiques pour l’instant, j’ai plus testé qu’utilisé.
Cliquer sur l’icône des snippets et sur celui qu’on souhaite utiliser
Selon les configurations des users et sudoers, il faut évidemment taper le mot de passe
Si l’option d’intégration de l’IA est activée, on y accède depuis un terminal via Ctrl + k. Aucune commande n’est exécutée par l’IA, elles sont juste tapées dans le terminal et l’utilisateur doit l’exécuter.
Je ne suis ni fan ni, du coup, connaisseur, donc j’ai pas testé de demande très compliquée. Même en faisant des fautes dans la demande, elle s’en sort du du basique
Idem pour des installations basiques. Testé sur Arch aussi, c’était bon. Mais je reste sur du très simple.
Semble également fonctionner en français (vu que c’est ChatGPT dans mon test) et l’installation de Docker est correcte. Même si c’est pas optimisé (serveur Apache2n mysql de base etc)
Pour que ce soit « parfait », il faut lui indiquer quels dossiers monter etc. Bref, autant le faire à la main as usual! Mais, encore une fois, je découvre l’IA dans un terminal et ne souhaite pas approfondir cette expérience.
Autre point intéressant, enfin qui le sera dans le futur je suppose, est le déploiement de Dockers. Avec une vision devops, c’est pas mal pour envoyer rapidement des utilitaires sur des machines. L’AppsStore officiel est ici et permet de voir comment créer des applications (un docker compose ofc!). On peut donc tout à fait se faire les siennes et s’héberger sa propre source d’apps. Je ne me vois pas déployer Plex ou Nextcloud comme ça mais pour des utilitaires… Avec un Authelia en sus de tout ça…
Je devrais renommer « Streaming » en « Testing », pauvre machine… Le process est entièrement détaillé en temps réel
On peut visualiser les logs
Et j’y accède bien à la fin. Alors évidemment, aucune auth, aucune sécurité. C’est pas fait pour déployer des instances Nextcloud en prod, juste des utilitaires quand on bosse ou doit tester. Enfin à mon sens c’est le but.
J’aurais aimé avoir l’option de désinstaller le container mais ça viendra sûrement, le projet étant tout jeune (j’ai ouvert une issue).
Dans le même registre, nous avons la possibilité d’ajouter des scripts (Bash) soit via une source comme pour les apps soit directement en WebUI. Ils pourront alors être exécutés sur un serveur.
Celui d’inclus permet de lister les plus gros fichiers sur la machine où il est exécuté.
Pour l’instant on ne peut l’exécuter que sur une machine à la fois.
Pour l’instant je suis fan de l’outil ! Et comme c’est en Docker, on peut le laisser en reverse proxy normal ou le faire passer par un VPN, Tor etc. Très pratique.