kpcli : Problème avec le presse-papier Le sujet est résolu

Demande d'aide : c'est ici.
Répondre
Avatar de l’utilisateur
dezix
Membre hyper actif
Membre hyper actif
Messages : 3548
Inscription : 04 juin 2016, 14:50
Status : Hors-ligne

Bonjour,
Je vous raconte un peu ma vie pour le contexte et un petit retour d'expérience ; la question est à la fin.

Suite à la discussion sur Gestionnaire de Mots de passe : Keepass2 ou KeepassXC

Je teste kpcli en vue de l'utiliser sur un serveur (sans X11)
jusqu'à présent tout semble fonctionner plutôt bien depuis mon poste local (Terminal XFCE) via SSH.

Sauf que dans mon idée (elle n'est peut-être pas la bonne ?)
c'est mon utilisateur "Admin" (sur le serveur) qui utilise ce gestionnaire de MdP
pour prendre la casquette de tel ou tel autre utilisateur responsable d'un service spécifique (p.ex un site web).

Admin doit donc copier le MdP du compte en question avec la commande interne de kpcli :

kpcli:/Groupe> xp <entrée en DB>

Au premier essai j'ai obtenu le message d'erreur suivant :

Code : Tout sélectionner

Error: Can't open display: (null)
Error closing `|xclip -i -selection primary`:  at /usr/share/perl5/Clipboard/Xclip.pm line 29.

J'ai trouvé des infos sur : https://askubuntu.com/questions/305654/xclip-on-headless-server/305681#305681]xclip on headless server - Ask Ubuntu
qui explique que le problème se résout en autorisant dans SSH (client local) : ForwardX11
en créant/ajoutant à : ~/.ssh/config
une ligne :

Code : Tout sélectionner

ForwardX11 yes
ou par l'ajout de l'option -X à la commande ssh.

J'ai vérifié côté serveur : /etc/ssh/sshd_config
contient bien une ligne (non-commentée) :

Code : Tout sélectionner

X11Forwarding yes

Effectivement, ceci fait, je n'ai plus les erreurs et ça donne :

Code : Tout sélectionner

$ kpcli --kdb test.kdb
Please provide the master password: *************************

KeePass CLI (kpcli) v3.1 is ready for operation.
Type 'help' for a description of available commands.
Type 'help <command>' for details on individual commands.

kpcli:/> ls
=== Groups ===
eMail/
Internet/
test-rep/
kpcli:/> ls test-rep/
=== Entries ===
0. TOTO                                                           toto.org
kpcli:/> cd test-rep/
kpcli:/test-rep> xp 0
Copied password for "TOTO" to the clipboard.
kpcli:/test-rep> quit

Donc à ce stade il semble que je suis tout bon,
puis,

su toto

et

[Ctrl+Maj+V] pour fournir le MdP


et là ça me recolle la précédente sélection (avant kpcli) présente dans le presse-papier, mais pas mon MdP :((


J'ai comme l'impression que c'est la même situation que j'avais déjà exposée dans : "Primary Selection" comment accéder au contenu du "buffer" ?


Y-a-t-il quelqu'un qui utilise kpcli et qui sait comment faire ?

Merci.
**Simple Utilisateur** -- Debian stable - XFCE
Avatar de l’utilisateur
dezix
Membre hyper actif
Membre hyper actif
Messages : 3548
Inscription : 04 juin 2016, 14:50
Status : Hors-ligne

Je m'auto-réponds ... en fait je m'étais déjà auto-répondu dans : "Primary Selection" comment accéder au contenu du "buffer" ?

=> Il faut utiliser la combinaison de touches : [Maj+Ins]
pour coller ce "presse-papier"

Vous avez donc ici les infos principales pour l'usage de kpcli

Pour le détails des commandes internes :

Code : Tout sélectionner

kpcli:/> help
et
kpcli:/> help <commande>

Voilà, je marque ce sujet Résolu et je rajoute un lien dans
Gestionnaire de Mots de passe : Keepass2 ou KeepassXC
**Simple Utilisateur** -- Debian stable - XFCE
Avatar de l’utilisateur
dezix
Membre hyper actif
Membre hyper actif
Messages : 3548
Inscription : 04 juin 2016, 14:50
Status : Hors-ligne

Je vous en remets une petite couche avec cette petite démo de l'utilisation pratique :

Code : Tout sélectionner

dezix@bureau.local:~$ ssh admin@server.web
admin@server.web's password: 
Linux my_server_web 4.19.0-10-cloud-amd64 #1 SMP Debian 4.19.132-1 (2020-07-24) x86_64
.....

admin@my_server_web:~$ kpcli --kdb test.kdb
Please provide the master password: *************************

KeePass CLI (kpcli) v3.1 is ready for operation.
Type 'help' for a description of available commands.
Type 'help <command>' for details on individual commands.


kpcli:/> ls
=== Groups ===
eMail/
Internet/
test-rep/

kpcli:/> new /eMail/DEZIX
Adding new entry to "/eMail"
Title: DEZIX
Username: dezix
Password:                ("g" or "w" to auto-generate, "i" for interactive)

INTERACTIVE PASSWORD GENERATION:
<n>o/<ret> Do not accept current password, generate another one.
<y>es      Accept current password.

<t>oggle   Toggle between random characters and word-based mode.
<c>ancel   Abort interactive password generation mode.
And in random characters mode:
  +/-      Increase/decrease password length. May be prefixed with a count.
  [n]=     Set password length to [n] chars. If not given, resets to 20 chars.
KCVIZMnhQv2wB6kq3_r5  +/-/= n/y/t/c 36=
[-----------------------------------|--------------]
l8XIOzV4UtypOeHDlApx4bKYMedsI_lF6hg5  +/-/= n/y/t/c 
URL: dezix@gafam.arnack
Notes/Comments (""): 
(end multi-line input with a single "." on a line)
| Ma vie privée vous appartient, merci !
| .
Database was modified. Do you want to save it now? [y/N]: 
Saved to test.kdb

kpcli:/> show /eMail/DEZIX

 Path: /eMail/
Title: DEZIX
Uname: dezix
 Pass: l8XIOzV4UtypOeHDlApx4bKYMedsI_lF6hg5
  URL: dezix@gafam.arnack
Notes: Ma vie privée vous appartient, merci !

kpcli:/> xx
Clipboard cleared.

kpcli:/> xp /eMail/DEZIX
Copied password for "DEZIX" to the clipboard.

kpcli:/> quit


admin@my_server_web:~$ [Maj+In] => l8XIOzV4UtypOeHDlApx4bKYMedsI_lF6hg5




Remarque sur les options pour fournir le mot de passe :

Au choix :
  • Taper directement le MdP
  • Taper [g] puis [enter] => génère automatiquement un MdP de 20 caractères [a-zA-Z0-9]
  • Taper [w] puis [enter] => génère automatiquement un MdP composé de mots **
  • Taper " i " puis [enter] puis "N=" puis [enter] => génère automatiquement un MdP de N caractères [a-zA-Z0-9]
** Pour un MdP composé de mots, il faut un dictionnaire pour fournir ces mots.
Sinon on a le message suivant :
No adequate dictionary found to generate a words-based password.
These locations were checked:
- /usr/share/dict/words
- /usr/dict/words
Generated random characters instead of a words-based password.
et un MdP de 20 caractères est fourni à la place.

On pourra le modifier plus tard avec la commande : edit


Clôture du commentaire :

Il est possible d'entrer un commentaire (sur plusieurs lignes),
terminer le commentaire par une ligne ne contenant qu'un point => " . "

Taper directement [enter] si on ne veut pas de commentaire.



Pour créer une base de données KDB (V3.1)
ce qui est nécessaire pour débuter si on n'importe pas une KDB existante.

Code : Tout sélectionner

admin@my_server_web:~$ kpcli

KeePass CLI (kpcli) v3.1 is ready for operation.
Type 'help' for a description of available commands.
Type 'help <command>' for details on individual commands.

kpcli:/> saveas new_db.kdb
Please provide the master password: *************************
Retype to verify: *************************
kpcli:/> ls
=== Groups ===
eMail/
Internet/
kpcli:/> quit


admin@my_server_web:~$ ls *.kdb
new_db.kdb  test.kdb


**Simple Utilisateur** -- Debian stable - XFCE
Avatar de l’utilisateur
piratebab
Site Admin
Site Admin
Messages : 5865
Inscription : 24 avr. 2016, 18:41
Localisation : sud ouest
Status : En ligne

Ce qui est curieux, c'est que pour un outil spécifique CLI tu sois obligé d'activer le X11 forwarding
Avatar de l’utilisateur
dezix
Membre hyper actif
Membre hyper actif
Messages : 3548
Inscription : 04 juin 2016, 14:50
Status : Hors-ligne

piratebab a écrit : 27 sept. 2020, 14:00 Ce qui est curieux, c'est que pour un outil spécifique CLI tu sois obligé d'activer le X11 forwarding
Oui, moi aussi je me suis fais cette réflexion,
mais parmi les (trop) nombreuses dépendances on a :

x11-common xclip

et pour le peu que j'ai pu comprendre -- le sujet X étant trop complexe pour mes ambitions --
le presse-papier est une fonction X11,
et une partie (la quelle ???) doit être fournie par le serveur.

Ça me semble un peu contre productif au niveau de la sécurité du serveur (intuitivement X11 me semble un risque)
**Simple Utilisateur** -- Debian stable - XFCE
Avatar de l’utilisateur
piratebab
Site Admin
Site Admin
Messages : 5865
Inscription : 24 avr. 2016, 18:41
Localisation : sud ouest
Status : En ligne

Forcément, ajouter des dépendances cela augmente mathématiquement la surface d'attaque.
effectivement, le presse papier est une notion liée à une interface de bureau (comme la corbeille)
Répondre