{"id":4613,"date":"2021-12-02T11:00:00","date_gmt":"2021-12-02T10:00:00","guid":{"rendered":"https:\/\/www.unicoda.com\/?p=4613"},"modified":"2022-05-23T17:13:24","modified_gmt":"2022-05-23T15:13:24","slug":"reinstallation-de-mon-environnement-de-gestion-des-mots-de-passe-sous-macos","status":"publish","type":"post","link":"https:\/\/www.unicoda.com\/?p=4613","title":{"rendered":"R\u00e9installation de mon environnement de gestion des mots de passe sous MacOS"},"content":{"rendered":"\n<p>Dans le cadre de mon emploi, j&rsquo;ai pu proc\u00e9der il y a peu \u00e0 un changement de mon ordinateur car je commen\u00e7ais \u00e0 m&rsquo;approcher dangereusement des limites de ses capacit\u00e9s de stockage. Malgr\u00e9 une analyse du contenu du disque dur, difficile de trouver plus d&rsquo;une dizaine de giga octets de place, m\u00eame apr\u00e8s nettoyage des anciennes versions de certains logiciels (versions rest\u00e9es sur le disque apr\u00e8s mise \u00e0 jour). Bref, qui dit changement de mat\u00e9riel, dit r\u00e9installation de mon environnement de d\u00e9veloppement et une occasion \u00e0 ne pas manquer de prendre quelques notes sur les \u00e9tapes et autres r\u00e9glages incontournables \u00e0 ne pas oublier.<\/p>\n\n\n\n<p>Avant de pr\u00e9ciser les \u00e9tapes d&rsquo;installation, quelques mots sur la mani\u00e8re dont je g\u00e8re mes mots de passe s&rsquo;imposent.<\/p>\n\n\n\n<p>Pour la gestion des mots de passe, j&rsquo;utilise <code>pass<\/code>, petit utilitaire en ligne de commande, o\u00f9 chaque mot de passe est stock\u00e9 dans un fichier chiffr\u00e9 sur le disque. La sauvegarde et la synchronisation sont r\u00e9alis\u00e9es via git. La cl\u00e9 de chiffrement est stock\u00e9e sur un support externe de type \u00ab\u00a0smartcard\u00a0\u00bb, une YubiKey en l&rsquo;occurrence. Apr\u00e8s maintenant trois ans d&rsquo;utilisation quotidienne, le syst\u00e8me a fait ses preuves et me convient parfaitement. Pour plus de d\u00e9tails, se r\u00e9f\u00e9rer aux articles de la cat\u00e9gorie <a rel=\"noreferrer noopener\" href=\"https:\/\/www.unicoda.com\/?cat=377\" target=\"_blank\">Crypto<\/a> autour de novembre 2018.<\/p>\n\n\n\n<p>R\u00e9capitulons les \u00e9l\u00e9ments n\u00e9cessaires:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>gnupg.<\/li><li>pinentry, pour la saisie du mot passe prot\u00e9geant la YubiKey.<\/li><li>Une YubiKey.<\/li><li>pass.<\/li><li>browserpass, pour une utilisation simplifi\u00e9e dans les navigateurs.<\/li><\/ul>\n\n\n\n<p>Premi\u00e8re \u00e9tape, installer les briques logicielles n\u00e9cessaires en utilisant <code>brew<\/code>.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">brew install libyubikey yubikey-personalization gnupg pinentry pinentry-mac gpg-suite-pinentry pass amar1729\/formulae\/browserpass<\/pre>\n\n\n\n<p>Je n&rsquo;entre pas dans les d\u00e9tails de l&rsquo;\u00e9tape interm\u00e9diaire de d\u00e9ploiement des fichiers de configuration de mon dossier dotfiles, celle-ci \u00e9tant d\u00e9crite dans l&rsquo;article <a rel=\"noreferrer noopener\" href=\"https:\/\/www.unicoda.com\/?p=3815\" data-type=\"post\" data-id=\"3815\" target=\"_blank\">dotfiles, git et rcm<\/a>. Mentionnons tout de m\u00eame que ce d\u00e9ploiement permet la configuration de <code>gnupg<\/code> et de la variable d&rsquo;environnement indiquant le chemin vers le dossier des mots de passe \u00e0 <code>pass<\/code>.<\/p>\n\n\n\n<p>Passons \u00e0 la suite.<\/p>\n\n\n\n<p>Lors de mes premiers tests, j&rsquo;obtiens l&rsquo;erreur suivante: <code>gpg: WARNING: unsafe permissions on homedir '\/home\/path\/to\/user\/.gnupg'<\/code>. Probl\u00e8me de permission sur le r\u00e9pertoire de configuration <code>.gnupg<\/code>, une petite recherche concernant l&rsquo;erreur, me donne <a href=\"https:\/\/gist.github.com\/oseme-techguy\/bae2e309c084d93b75a9b25f49718f85\" target=\"_blank\" rel=\"noreferrer noopener\">un gist<\/a> qui propose la solution ci-dessous:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">chown -R $(whoami) ~\/.gnupg\/\n# Set 600 for files\nfind ~\/.gnupg -type f -exec chmod 600 {} \\;\n# Set 700 for directories\nfind ~\/.gnupg -type d -exec chmod 700 {} \\;<\/pre>\n\n\n\n<p>Je passe ensuite \u00e0 la configuration de l&rsquo;extension de navigateur <a rel=\"noreferrer noopener\" href=\"https:\/\/github.com\/browserpass\/browserpass-extension\" target=\"_blank\">browserpass<\/a> sur les deux navigateurs que j&rsquo;utilise: Firefox et Brave. Une fois l&rsquo;extension install\u00e9e, il faut d\u00e9ployer ce qui permettra \u00e0 celle-ci de dialoguer en local avec <code>pass<\/code>. Ces commandes, ou une version similaire, sont rappel\u00e9es \u00e0 l&rsquo;installation de <code>browserpass<\/code> via <code>brew<\/code> et je conseille vivement de faire une petite relecture du <code>Readme<\/code> du projet sur GitHub pour se remettre en t\u00eate la proc\u00e9dure.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">PREFIX='\/usr\/local\/opt\/browserpass' make hosts-firefox-user -f '\/usr\/local\/opt\/browserpass\/lib\/browserpass\/Makefile'\n\nPREFIX='\/usr\/local\/opt\/browserpass' make hosts-brave-user -f '\/usr\/local\/opt\/browserpass\/lib\/browserpass\/Makefile'<\/pre>\n\n\n\n<p>Je termine en configurant au niveau de l&rsquo;extension le chemin vers le r\u00e9pertoire des mots de passe, celle-ci n&rsquo;arrivant pas \u00e0 utiliser la variable d&rsquo;environnement d\u00e9di\u00e9e et pourtant parfaitement accessible dans un terminal.<\/p>\n\n\n\n<p>Je pensais en avoir termin\u00e9 apr\u00e8s cette op\u00e9ration, mais mes mots de passe restaient inaccessibles car <code>pass<\/code> ne parvenait pas \u00e0 trouver les informations de clef n\u00e9cessaires au d\u00e9chiffrement. Apr\u00e8s un test rapide de l&rsquo;\u00e9tat de ma YubiKey avec <code>gpg --card-status<\/code> pour m&rsquo;assurer que celle-ci \u00e9tait bien lisible et reconnue, je me suis souvenue qu&rsquo;il me fallait importer ma clef publique. Apr\u00e8s transfert du fichier la contenant, j&rsquo;ai donc proc\u00e9d\u00e9 \u00e0 l&rsquo;import via <code>gpg --import &lt; publickey.txt<\/code>.<\/p>\n\n\n\n<p>Nouveau test. C&rsquo;est mieux, mais le programme se plaint de ne pas savoir quelle confiance accorder \u00e0 la clef que je viens d&rsquo;importer et limite donc grandement son utilisation. Pas de probl\u00e8me ! Accordons \u00e0 cette clef une confiance absolue.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">gpg --edit-keys &lt;email_address&gt; \ngpg&gt; trust\nYour decision? 5\nDo you really want to set this key to ultimate trust? (y\/N) y\ngpg&gt; quit<\/pre>\n\n\n\n<p>A l&rsquo;issue de ces \u00e9tapes de configuration, une nouvelle tentative d&rsquo;acc\u00e8s \u00e0 l&rsquo;un de mes mots de passe se traduit cette fois par une r\u00e9cup\u00e9ration r\u00e9ussie de celui-ci.<\/p>\n\n\n\n<p>La r\u00e9installation de mon environnement de gestion des mots de passe sous MacOS s&rsquo;est donc d\u00e9roul\u00e9e sans trop de difficult\u00e9 et dans un temps plus que raisonnable, puisque je ne crois pas y avoir pass\u00e9 plus d&rsquo;une heure. Il est toujours agr\u00e9able de ne pas rencontrer trop d&rsquo;erreurs en r\u00e9installant et en reconfigurant ses outils, et de retrouver son environnement habituel propre, neuf et fonctionnel en peu de temps et sans avoir \u00e0 y laisser un ou deux points de sant\u00e9 mentale.<\/p>\n\n\n\n<p>Et un jour, qui sait, je disposerais peut-\u00eatre enfin d&rsquo;un script de r\u00e9installation pour simplifier encore le processus.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Dans le cadre de mon emploi, j&rsquo;ai pu proc\u00e9der il y a peu \u00e0 un changement de mon ordinateur car je commen\u00e7ais \u00e0 m&rsquo;approcher dangereusement des limites de ses capacit\u00e9s de stockage. Malgr\u00e9 une analyse du contenu du disque dur, difficile de trouver plus d&rsquo;une dizaine de giga octets de place, m\u00eame apr\u00e8s nettoyage des &hellip; <a href=\"https:\/\/www.unicoda.com\/?p=4613\" class=\"more-link\">Continuer la lecture<span class=\"screen-reader-text\"> de &laquo;&nbsp;R\u00e9installation de mon environnement de gestion des mots de passe sous MacOS&nbsp;&raquo;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[377],"tags":[593,386,524,422,423,387],"class_list":["post-4613","post","type-post","status-publish","format-standard","hentry","category-crypto","tag-browserpass","tag-gnupg","tag-macos","tag-pass","tag-password-store","tag-yubikey-neo"],"_links":{"self":[{"href":"https:\/\/www.unicoda.com\/index.php?rest_route=\/wp\/v2\/posts\/4613","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.unicoda.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.unicoda.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.unicoda.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.unicoda.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=4613"}],"version-history":[{"count":6,"href":"https:\/\/www.unicoda.com\/index.php?rest_route=\/wp\/v2\/posts\/4613\/revisions"}],"predecessor-version":[{"id":4640,"href":"https:\/\/www.unicoda.com\/index.php?rest_route=\/wp\/v2\/posts\/4613\/revisions\/4640"}],"wp:attachment":[{"href":"https:\/\/www.unicoda.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=4613"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.unicoda.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=4613"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.unicoda.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=4613"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}