Compare commits

...

2 Commits

2 changed files with 51 additions and 8 deletions

View File

@ -1,7 +1,7 @@
--- ---
Title: Gérer vos mots de passe avec pass Title: Gérer vos mots de passe avec pass
Date: 2019-04-22 19:00 Date: 2019-04-22 19:00
Modified: 2019-04-24 11:12 Modified: 2024-02-24 18:00
Lang: fr Lang: fr
Author: Fabrice Author: Fabrice
Category: programmes Category: programmes
@ -14,12 +14,12 @@ Summary: Un gestionnaire de mots de passe simple qui repose sur gpg, et synchron
Comme nous vivons dans un monde dangereux où les failles de sécurité sont découvertes tous les jours et où les fuites de données sont devenues monnaies courantes, il est recommandé dutiliser un mot de passe différent pour chacune de nos identités numériques. Comme nous vivons dans un monde dangereux où les failles de sécurité sont découvertes tous les jours et où les fuites de données sont devenues monnaies courantes, il est recommandé dutiliser un mot de passe différent pour chacune de nos identités numériques.
Cependant, cela devient vite une horreur à maintenir manuellement, javais essayé dutiliser un bloc note en 2003 que jai perdu au bout dun mois (et les mots de passe avec). Cependant, cela devient vite une horreur à maintenir manuellement, javais essayé dutiliser un bloc note en 2003 que jai perdu au bout dun mois (et les mots de passe avec).
Heureusement, les gestionnaires de mots de passes ont fleurit depuis, et plusieurs proposent des fonctionnalités de base similaires: multiplateforme (en particulier sur les téléphones intelligents), génération de mots de passe «sécurisés», intégration navigateur… Heureusement, les gestionnaires de mots de passes ont fleuri depuis, et plusieurs proposent des fonctionnalités de base similaires: mufti plateforme (en particulier sur les téléphones intelligents), génération de mots de passe «sécurisés», intégration navigateur…
Je ne vais pas pour faire une comparaison détaillée, mais si vous souhaitez jeter un coup dœil, [wikipedia](https://en.wikipedia.org) propose une table de comparaison détaillée [**par ici** (en)](https://en.wikipedia.org/wiki/List_of_password_managers). Je ne vais pas pour faire une comparaison détaillée, mais si vous souhaitez jeter un coup dœil, [Wikipédia](https://en.wikipedia.org) propose une table de comparaison détaillée [**par ici** (en)](https://en.wikipedia.org/wiki/List_of_password_managers).
Dans cette recherche, grâce à [moviuro](https://try.popho.be), mon choix sest porté sur [pass](https://www.passwordstore.org/) avec [pass-otp](https://github.com/tadfisher/pass-otp#readme) (et [passmenu](https://git.zx2c4.com/password-store/tree/contrib/dmenu)). Dans cette recherche, grâce à [moviuro](https://try.popho.be), mon choix sest porté sur [pass](https://www.passwordstore.org/) avec [pass-otp](https://github.com/tadfisher/pass-otp#readme) (et [passmenu](https://git.zx2c4.com/password-store/tree/contrib/dmenu)).
Je nai pas non plus la prétention de faire un guide détaillé sur pass, comme ceux-ci sont déjà faciles à trouver sur internet, par exemple [**par ici** (en)](https://medium.com/@chasinglogic/the-definitive-guide-to-password-store-c337a8f023a1). Je nai pas non plus la prétention de faire un guide détaillé sur pass, comme ceux-ci sont déjà faciles à trouver sur internet, par exemple [**par ici** (en)](https://medium.com/@chasinglogic/the-definitive-guide-to-password-store-c337a8f023a1).
En résumé, pass est un script bash qui fait appel à des outils de base comme [git](https://git-scm.com/), [gpg](https://www.gnupg.org/), et est écrit par [zx2c4](https://www.zx2c4.com/). En résumé, pass est un script bash qui fait appel à des outils de base comme [git](https://git-scm.com/), [gpg](https://www.gnupg.org/), et est écrit par [zx2c4](https://www.zx2c4.com/).
@ -32,6 +32,28 @@ Pour **re**générer un mot de passe, loption `-i` ici est **importante** pui
Cela évite donc de devoir utiliser du [git sale]({filename}/cheat-sheets/git-fr.md) pour retirer lerreur de larbre des commits vu que `pass <cmd>` fait automatiquement un commit atomique à la fin de la commande. Cela évite donc de devoir utiliser du [git sale]({filename}/cheat-sheets/git-fr.md) pour retirer lerreur de larbre des commits vu que `pass <cmd>` fait automatiquement un commit atomique à la fin de la commande.
Je loublie parfois, cest pourquoi je laisse ça ici en guise de rappel. Je loublie parfois, cest pourquoi je laisse ça ici en guise de rappel.
Sur certains services, il arrive que lon ait besoin de spécifier un ensemble de caractères admissibles pour les mots de passe.
Cela peut être fait via la variable denvironnement `PASSWORD_STORE_CHARACTER_SET`.
Le contenu de cette variable est transmis à la [commande `tr`](https://fr.wikipedia.org/wiki/Tr_(Unix)).
Ainsi, pour créer un code PIN, on peut spécifier la valeur suivante: `PASSWORD_STORE_CHARACTER_SET='[:digit:]'` et indiquer la longueur désirée du mot de passe en dernier argument de la commande.
Par exemple, pour générer un code PIN de 6 chiffres:
```sh
PASSWORD_STORE_CHARACTER_SET='[:digit:]' pass generate <pass-name> 6
```
Je nai en revanche pas trouvé comment forcer la présence de caractères spéciaux… je lance donc la commande plusieurs fois dans ces cas avec loption `-i` pour écrire en place après la première tentative.
Ce nest pas la meilleure solution, qui en plus pollue lhistorique git mais bon… ça fonctionne.
Par exemple, pour générer un mot de passe sur un service _fictif_ qui supporterait les caractères spéciaux suivants: `-_@$<>` pour des mots de passe dau plus 20 caractères, on peut utiliser la commande suivante:
```sh
PASSWORD_STORE_CHARACTER_SET='[:alnum:]-_@$<>' pass generate <pass-name> 20
```
Pour finir:
```sh ```sh
pass git <ce que vous voulez> pass git <ce que vous voulez>
``` ```

View File

@ -1,7 +1,7 @@
--- ---
Title: Manage your passwords with pass Title: Manage your passwords with pass
Date: 2019-04-22 19:00 Date: 2019-04-22 19:00
Modified: 2019-04-23 14:24 Modified: 2024-02-24 18:00
Author: Fabrice Author: Fabrice
Category: software Category: software
Tags: pass, git, cli Tags: pass, git, cli
@ -14,9 +14,9 @@ Lang: en
As security breaches are discovered regularly, and so leakage happens, it is recommended to have a different password on each account. As security breaches are discovered regularly, and so leakage happens, it is recommended to have a different password on each account.
However, this task is obviously a pain to maintain by hand. I did use a notebook back in 2003, which I lost within a month, given that I'm a very organized person. However, this task is obviously a pain to maintain by hand. I did use a notebook back in 2003, which I lost within a month, given that I'm a very organized person.
Hopefully, many password managers exist, with similar features: cross-platform (especially smartphone support), password generation,browser integration… Hopefully, many password managers exist, with similar features: cross-platform (especially smartphone support), password generation, browser integration…
I'm not here to compare them, if you want to give a look, [wikipedia](https://en.wikipedia.org) provides a nice comparison table [**there**](https://en.wikipedia.org/wiki/List_of_password_managers). I'm not here to compare them, if you want to give a look, [Wikipedia](https://en.wikipedia.org) provides a nice comparison table [**there**](https://en.wikipedia.org/wiki/List_of_password_managers).
However, thanks to [moviuro](https://try.popho.be), my choice is [pass](https://www.passwordstore.org/) along with [pass-otp](https://github.com/tadfisher/pass-otp#readme) (and [passmenu](https://git.zx2c4.com/password-store/tree/contrib/dmenu)). However, thanks to [moviuro](https://try.popho.be), my choice is [pass](https://www.passwordstore.org/) along with [pass-otp](https://github.com/tadfisher/pass-otp#readme) (and [passmenu](https://git.zx2c4.com/password-store/tree/contrib/dmenu)).
I don't intend either to make a comprehensive guide, as those already populate the internet, for example [**here**](https://medium.com/@chasinglogic/the-definitive-guide-to-password-store-c337a8f023a1). I don't intend either to make a comprehensive guide, as those already populate the internet, for example [**here**](https://medium.com/@chasinglogic/the-definitive-guide-to-password-store-c337a8f023a1).
@ -28,7 +28,28 @@ Here are just some commands I often use.
```sh ```sh
pass generate -i <pass-name> pass generate -i <pass-name>
``` ```
To regenerate a password, the `-i` is important to avoid overwritting the whole file and having to rely on [dirty git]({filename}/cheat-sheets/git.md) to withdraw your mistake (`pass <cmd>` will automatically commit your change)… I sometimes forget it, so let's put it here as a reminder. To regenerate a password, the `-i` is important to avoid overwriting the whole file and having to rely on [dirty git]({filename}/cheat-sheets/git.md) to withdraw your mistake (`pass <cmd>` will automatically commit your change)… I sometimes forget it, so let's put it here as a reminder.
Sometimes it can be useful to specify the accepted special chars, this can be done using the `PASSWORD_STORE_CHARACTER_SET` environment variable.
This value is interpreted by the [`tr` command](https://en.wikipedia.org/wiki/Tr_(Unix)),
hence to create a PIN, you can use the following value: `PASSWORD_STORE_CHARACTER_SET='[:digit:]'`, then specify the length with the last argument.
For instance, to generate a 6 digit PIN:
```sh
PASSWORD_STORE_CHARACTER_SET='[:digit:]' pass generate <pass-name> 6
```
I didnt manage to specify how to have at least one of them, so I run the command multiple times (with the `-i` option to change the file in place after the first one)…
It pollutes a bit the git history but, well… it works.
For instance, for a service supporting only the following characters: `-_@$<>` of at most 20 char long (fictive example), you can use the following command:
```sh
PASSWORD_STORE_CHARACTER_SET='[:alnum:]-_@$<>' pass generate <pass-name> 20
```
To finish:
```sh ```sh
pass git <whatever you want> pass git <whatever you want>