Vue lecture

Protégez vos clés SSH avec Touch ID sur macOS

Vous utilisez probablement des clés SSH pour vous connecter à vos serveurs et vous savez aussi qu'elles sont stockées sur votre disque, bien au chaud dans ~/.ssh/, accessibles à n'importe quel malware qui passerait par là. Pas très rassurant quand on y pense...

Mais bonne nouvelle les amis ! Sur macOS, il existe une fonctionnalité méconnue qui permet de stocker des clés cryptographiques directement dans le Secure Enclave de votre Mac, et de les utiliser pour SSH. Du coup, la donnée de la clé privée est conçue pour ne pas être exportable, reste enfermée dans cette puce dédiée, et les opérations de signature peuvent être protégées par Touch ID selon la configuration choisie. Arian van Putten , un chercheur indépendant, a documenté cette fonction qui est pourtant native dans macOS.

Le principe c'est que macOS expose une bibliothèque (/usr/lib/ssh-keychain.dylib) qui permet à OpenSSH d'interfacer avec le Secure Enclave via l'API CryptoTokenKit d'Apple. C'est un peu comme avoir une YubiKey intégrée dans votre Mac, sauf que vous n'avez rien à acheter.

Pour créer une identité protégée par le Secure Enclave, y'a une commande un peu obscure :

sc_auth create-ctk-identity -l ssh -k p-256-ne -t bio

Ensuite pour générer les fichiers de référence compatibles SSH :

ssh-keygen -w /usr/lib/ssh-keychain.dylib -K -N ""

Et pour injecter tout ça dans l'agent SSH :

ssh-add -K -S /usr/lib/ssh-keychain.dylib

À chaque connexion SSH, Touch ID vous demandera de poser votre doigt pour autoriser la signature. Impossible d'exporter la clé, impossible de la voler, même si quelqu'un a accès à votre machine.

Maintenant si vous préférez une interface graphique plutôt que de taper des commandes cryptiques, y'a Secretive qui fait exactement ça mais avec une jolie app native. Elle crée des clés dans le Secure Enclave, vous notifie quand elles sont utilisées, et depuis la version 3.0 , elle supporte même les clés post-quantiques ML-DSA (FIPS 204) sur macOS Tahoe pour ceux qui veulent anticiper l'ère post-quantique. Pour les vieux Mac sans Secure Enclave, l'app peut aussi utiliser une YubiKey.

Et pour ceux qui ont plein de clés SSH existantes et qui veulent juste ajouter l'authentification Touch ID par-dessus, y'a aussi fssh . Ce petit outil chiffre vos clés avec AES-256-GCM (avec HKDF et salt unique par fichier) et stocke la clé maître dans le Keychain de macOS avec les flags d'accès appropriés pour exiger Touch ID. Du coup à chaque connexion, votre empreinte déverrouille tout ça temporairement et c'est hyper pratique pour naviguer entre plusieurs serveurs sans se retaper les passphrases.

Bref, que vous passiez par les commandes natives, Secretive, ou fssh, l'idée c'est de ne plus jamais laisser vos clés SSH en clair sur le disque. Votre empreinte digitale devient la seule façon de les utiliser, et ça c'est quand même bien plus secure que de faire confiance aux permissions de fichiers...

Merci à Lorenper pour le tuyau !

Source

  •  

OrbStack - L'alternative légère à Docker Desktop sur Mac

Si vous utilisez Docker Desktop sur Mac et que vous en avez marre de voir votre ventilateur s'emballer dès que vous lancez trois conteneurs, j'ai peut-être la solution à vos problèmes.

OrbStack , c'est une app native Swift qui remplace Docker Desktop et qui fait tourner vos conteneurs sans transformer votre MacBook en mineur de Bitcoin. Le truc démarre en 2 secondes 12 et consomme très peu de ressources en arrière-plan. Autant dire que par rapport à l'usine à gaz qu'est devenu Docker Desktop, ça fait du bien.

Concrètement, vous avez accès à tout ce que vous connaissez : la CLI Docker est compatible, vos docker-compose tournent généralement sans modification, et même Kubernetes est intégré nativement. Pas besoin donc de tout réapprendre. Vous installez, et vous pouvez migrer vos conteneurs existants depuis Docker Desktop.

Un conseil quand même : faites une sauvegarde de vos volumes avant, parce que la migration peut parfois cafouiller.

Mais OrbStack ne se limite pas aux conteneurs puisque le logiciel embarque aussi un gestionnaire de machines virtuelles Linux. Plusieurs distributions sont disponibles, d'Ubuntu à Fedora en passant par Arch, et elles se configurent en une minute chrono. Pratique quand vous avez besoin d'un shell Linux fonctionnel sous macOS sans vous farcir la lourdeur de VirtualBox.

Côté technique, OrbStack utilise VirtioFS pour le partage de fichiers entre l'hôte et les conteneurs, ce qui explique en partie les performances. Sur Apple Silicon, l'émulation x86 passe par Rosetta, donc la plupart de vos images Intel devraient tourner. Le réseau est également soigné avec support IPv6 et ICMP. Par contre, certains utilisateurs ont signalé des soucis avec des VPN d'entreprise, donc testez avant de tout basculer.

Dans l'interface, vous avez vos conteneurs, vos machines Linux, vos volumes, le tout accessible depuis la barre de menu ou via la CLI. Y'a même l'intégration VS Code pour ceux qui bossent sur des projets dans les VM Linux.

Pour le prix, c'est gratuit pour un usage personnel et si vous l'utilisez dans un contexte professionnel, comptez 8 dollars par mois ou 96 dollars à l'année.

Le seul inconvénient, c'est que ça ne tourne que sur macOS donc tant pis pour vous si vous êtes sur Linux ou Windows. En tout cas, pour les développeurs Mac qui en ont ras-le-bol de voir Docker Desktop bouffer leurs ressources et leur batterie, c'est franchement une alternative qui mérite le détour. Un peu comme VirtualBuddy a révolutionné la virtualisation macOS, OrbStack fait pareil mais pour les conteneurs.

  •  

OBS Studio 32 débarque avec un tout nouveau moteur de rendu pour macOS

Passer d'OpenGL à Metal, c'était visiblement pas une mince affaire pour l'équipe d'OBS. La techno d'Apple est sortie y'a 10 ans sous macOS mais ça leur a pris un peu de temps pour la migration... Et n'allez pas croire que je "juge"... Tout ce temps, c'est normal car c'est un soft multiplateforme, donc faut gérer trois écosystèmes en parallèle et ça, ça prend un temps fou.

Tous les effets visuels d'OBS ont dû être réécrits pour fonctionner avec Metal, le langage graphique d'Apple étant bien plus exigeant que celui de Windows et la preview peut parfois légèrement saccader à cause de macOS, mais le flux final reste impeccable.

Niveau performances, Metal fait aussi bien voire mieux qu'OpenGL dans les builds Release mais c'est surtout pour le débogage que ça change tout car les développeurs ont maintenant accès à des outils de diagnostic bien plus performants, ce qui devrait accélérer les corrections de bugs et les futures améliorations.

Pour l'activer (ouais on est chaud !!), c'est hyper simple. Vous allez dans les paramètres d'OBS 32.0, onglet Avancé, section Vidéo, et vous sélectionnez Metal dans le menu déroulant du renderer. Un petit redémarrage de l'appli et hop, vous êtes passé sur le nouveau moteur.

Ce qui est cool aussi avec cette version 32.0, c'est qu'elle inclut un gestionnaire de plugins et des améliorations pour les fonctionnalités NVIDIA RTX.

L'équipe OBS bosse aussi sur des backends Vulkan pour Linux et Direct3D 12 pour Windows, parce que les anciennes APIs comme OpenGL et D3D11 reçoivent de moins en moins de support des fabricants de GPU, donc si vous êtes sur Linux ou Windows, votre tour viendra aussi.

Voilà, après si ça bug, revenez sur OpenGL, mais y'a quand même de bonnes chances que ça tourne mieux qu'avant.

Source

  •  

Mole - L'outil CLI qui remplace CleanMyMac et toute la clique

Vous en avez marre de payer des licences pour des apps de nettoyage macOS qui font grosso modo la même chose ? CleanMyMac, AppCleaner, DaisyDisk, Sensei, iStat Menus... C'est pas les options qui manquent, mais le portefeuille finit par tirer la gueule, du coup, quand je suis tombé sur Mole, je me suis dit que j'allais vous en parler.

Mole c'est un outil en ligne de commande (donc ça fait peuuuuur, ahaha mais c'est cool vous allez voir) qui regroupe toutes ces fonctionnalités dans un seul binaire. C'est open source, sous licence MIT, et ça pèse que dalle et en gros, l'idée c'est de taper la commande "mo" suivi d'un paramètre et hop, ça fait le taf.

mo # Interactive menu
mo clean # Deep cleanup
mo uninstall # Remove apps + leftovers
mo optimize # Refresh caches & services
mo analyze # Visual disk explorer
mo status # Live system health dashboard
mo purge # Clean project build artifacts

mo touchid # Configure Touch ID for sudo
mo update # Update Mole
mo remove # Remove Mole from system
mo --help # Show help
mo --version # Show installed version

mo clean --dry-run # Preview cleanup plan
mo clean --whitelist # Adjust protected caches
mo uninstall --force-rescan # Rescan apps and refresh cache
mo optimize --whitelist # Adjust protected optimization items

Par exemple, pour le nettoyage en profondeur, c'est mo clean. L'outil va scanner vos caches système, les logs, les données des navigateurs, et tout le bordel qui s'accumule avec le temps. Dans les exemples donnés par le développeur, il parle de récupérer jusqu'à 95 Go d'espace disque. Évidemment ça dépend de votre usage, mais ça donne une idée du potentiel.

Pour désinstaller proprement une app, mo uninstall fera le job. Et contrairement à la méthode du glisser-déposer dans la corbeille qui laisse traîner des fichiers de préférences partout, Mole traque tous les fichiers associés à l'application et les vire ensemble, comme ce que fait AppCleaner...

Côté monitoring système, mo status vous affiche un dashboard temps réel avec CPU, RAM, réseau, et métriques de santé. Un peu comme iStat Menus mais directement dans votre terminal. Et avec mo analyze, vous avez un explorateur visuel de l'espace disque avec des barres de progression ASCII. Très DaisyDisk vibes. Et mo analyze c'est pareil mais pour l'espace disque...

La commande mo optimize va rafraîchir les caches système et relancer certains services pour remettre de l'ordre. Et pour les devs, mo purge est une tuerie : ça nettoie les dossiers de build de vos projets (node_modules, target, build...) qui peuvent facilement bouffer des dizaines de gigas si vous bossez sur plusieurs projets.

Petit bonus sympa, mo touchid permet de configurer Touch ID avec sudo, ce qui vous évitera de taper votre mot de passe admin 15 fois par jour.

Voilà... Maintenant si ça vous chauffe, l'installation se fait soit via Homebrew avec brew install tw93/tap/mole, soit via curl directement. Le projet est écrit en Shell et Go, ce qui explique qu'il soit aussi léger et rapide. Seul bémol relevé par le développeur, évitez iTerm2 qui a des soucis de compatibilité. Alacritty , Kitty , WezTerm ou Ghostty par contre fonctionnent nickel.

L'outil supporte aussi les options classiques genre --dry-run pour prévisualiser les changements sans rien supprimer, --whitelist pour protéger certains éléments, et --debug pour les curieux et la navigation se fait avec les flèches ou en mode Vim (hjkl) pour les puristes.

Bref, si vous êtes à l'aise avec le terminal et que vous en avez marre de multiplier les apps payantes pour faire des trucs basiques, Mole mérite un petit test !

  •  

StartupFolder - Retrouvez le dossier Démarrage de Windows sur votre Mac

Vous vous souvenez du dossier Démarrage de Windows ?

C'était ce super dossier jaune dans lequel on balançait des raccourcis vers des .exe et hop, ça se lançait au boot. Hé bien figurez-vous que ça n'existe pas nativement sous macOS. Enfin, ça n'existait pas, parce qu'un dev a décidé de combler ce manque.

Ça s'appelle StartupFolder et c'est une petite app macOS qui crée un dossier "Startup" dans votre répertoire utilisateur. Tout ce que vous mettez dedans se lance alors automatiquement au démarrage de votre Mac : Apps, scripts, raccourcis, liens web... vous balancez tout ce qui vous chante et ça tourne !

Pour les apps, faut créer des alias (Command-Option-glisser), pour les scripts, vous les écrivez direct dans le dossier, pour les raccourcis Siri vous créez un fichier vide avec l'extension .shortcut, et pour les liens web, vous les glissez depuis la barre d'adresse de votre navigateur. Bref, c'est vraiment pas compliqué.

Et y'a quelques options sympas aussi. Par exemple, vous pouvez lancer les apps en mode caché pour qu'elles démarrent en arrière-plan sans vous sauter à la gueule. Y'a même une option "Force Hide" pour les apps récalcitrantes qui insistent pour s'afficher.

Et un autre truc cool, c'est le mode "Keep Alive". Avec cette option, si une app ou un script plante, StartupFolder le relancera automatiquement. Et pour éviter les boucles de crash infinies, y'a un système de détection qui arrête de relancer un truc qui plante en boucle.

Côté ressources, l'agent tourne en fond et consomme que dalle et comme d'hab, c'est open source sous licence GPL-3 , c'est codé en Swift, et c'est gratuit.

Voilà, si vous cherchez un moyen simple de gérer vos apps au démarrage sous macOS sans passer par les préférences système qui sont mal foutues, c'est ce qu'il vous faut.

Merci à Lorenper pour le partage !

  •