Forum Linux.debian/ubuntu Clés PGP

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
1
30
mar.
2020

Bonsoir,

j'utilise depuis plusieurs mois une clé Yubikey qui me sert de moyen de double authentification et à chiffrer mes mails ou documents. J'essaye maintenant de l'utiliser comme clé comme moyen d'authentification pour ssh (pour mon serveur).

Je voudrais donc envoyer ma clé publique vers mon serveur. Pour cela je fais :

ssh-copy-id -i ~/.ssh/xxxxx.asc admin@192.168.1.21

Mais ça ne marche pas. Il semble qu'il faille que la clé publique soit sous le format .pub

Mais comment convertir ma clé publique de .asc vers .pub ou alors comment l'exporter de ma clé Yubikey sous la forme .pub ?

Et quelle est la différence entre ces deux formats, .asc et .pub ?

Merci.

  • # pas loin d'ici

    Posté par  . Évalué à 1.

    bonsoir.
    il y a une dépêche qui traîne sur le site qui explique comment faire,ici .
    J'ai mis en place l'authentification avec une clef PGP et ssh, sur un serveur sans yubikey, de ce que je me souviens, il y a une histoire d'export, et il faut configuré l'agent PGP pour qu'il prenne la place de l'agent ssh sur le client, en suivant entre autre ce qui est expliqué dans la dépeche.

    • [^] # Re: pas loin d'ici

      Posté par  . Évalué à 1.

      Merci.

      Il faut pour cela remplacer l’agent SSH fourni en standard avec OpenSSH (ssh-agent) par l’agent GnuPG. Ajoutez simplement l’option enable-ssh-support dans le fichier de configuration de l’agent GnuPG $GNUPGHOME/gpg-agent.conf. Puis, comme évoqué ci-avant, assurez-vous que ledit agent est bien démarré systématiquement en début de session et que la variable d’environnement SSH_AUTH_SOCK est définie et pointe vers la socket spécialement créée à l’intention des clients SSH.

      Et comment j'ajoute enable-ssh-support dans le fichier de configuration de l’agent GnuPG $GNUPGHOME/gpg-agent.conf ?

      arnauld

      • [^] # Re: pas loin d'ici

        Posté par  . Évalué à 1.

        Alors j'ai copié

        use-standard-socket
        enable-ssh-support
        pinentry-program /usr/local/bin/pinentry-curses
        default-cache-ttl 60
        max-cache-ttl 120

        dans ~/.gnupg/gpg-agent.conf

        Puis ajouté

        export GPG_TTY=$(tty)
        unset SSH_AGENT_PID
        export SSH_AUTH_SOCK=$(gpgconf --list-dirs agent-ssh-socket)

        dans mon .bashrc pour utiliser gpg-agent

        Pour > remplacer l’agent SSH fourni en standard avec OpenSSH (ssh-agent) par l’agent GnuPG.

        Mais quand je fais ssh-add -l ou ssh-add -L j'obtiens

        $  ssh-add -l
        Error connecting to agent: No such file or directory

        Alors que ma clé Yubikey est bien insérée…

        arnauld

        • [^] # Re: pas loin d'ici

          Posté par  . Évalué à 1.

          Arrff, j'avais pas réactualisé la page avant de poster ma réponse, j'avais pas vue ton auto-réponse.
          ouvre une nouvelle session ou un nouveau terminal, ou fait la commande suivante :

          source ~/.bashrc

          Cela, devrais permettre de prendre en compte tes modifications de ton .bashrc

      • [^] # Re: pas loin d'ici

        Posté par  . Évalué à 1.

        De rien.
        avec un éditeur de texte, pour la localisation exacte du fichiers fait dans un terminal :

        echo $GNUPGHOME

        Soit il y a une ligne en commentaire comportant cette option, soit tu la rajoute à la fin du fichiers.

        ou bien tu entre la commande dans un terminal :

        echo "enable-ssh-support" >> $GNUPGHOME/gpg-agent.conf
        • [^] # Abandonné

          Posté par  . Évalué à 1.

          Bon, j'ai du abandonner car les lignes ajoutées dans mon .bashrc semblent interférer avec Enigmail dans Thunderbird et m'empëchent d'envoyer un mail avec PGP…

          GnuPG cannot query your passphrase via pinentry. This is a system setup or configuration error that prevents Enigmail from working properly and cannot be fixed automatically. We strongly recommend that you consult our support web site at https://enigmail.net/faq.

          arnauld

    • [^] # Re: pas loin d'ici

      Posté par  . Évalué à 4.

      Attention, ma dépêche de 2014 est… une dépêche de 2014. Elle n’a pas été mise à jour depuis sur ce site et certains passages ne sont plus corrects.

      Back to basics:

      ① Quelle est la version de GnuPG utilisée ? Si ce n’est pas une version 2.2.x, mettre à jour vers une 2.2.x avant toute autre chose. Toutes les version 2.0.x et 2.1.x sont obsolètes et la branche 1.4.x n’est là que par souci de compatibilité avec les versions de PGP datant des années 1990.

      ② Comment as-tu installé GnuPG ? L’as-tu compilé toi-même ? (C’est ce que semble indiquer la ligne pinentry-program /usr/local/bin/pinentry-curses dans ton fichier gpg-agent.conf)

      ③ Quel est ce fichier ~/.ssh/XXXXX.asc dont tu parles ? Comment l’as-tu généréé ?

      Avec les versions récentes de GnuPG, en gros les étapes pour l’authentification SSH sont les suivantes :

      ① Créer une sous-clef d’authentication et la charger dans le slot correspondant de la carte OpenPGP (de la Yubikey, dans le cas présent).

      ② Activer le support de SSH dans l’agent GnuPG (enable-ssh-support dans ~/.gnupg/gpg-agent.conf).

      ③ S’assurer que l’agent GnuPG est lancé au démarrage de la session graphique (parce que ssh ne peut pas le lancer tout seul, contrairement à gpg) et que ssh sait où le contacter, en ajoutant les deux lignes suivantes dans ~/.xprofile (ou tout autre script exécuté au démarrage d’une session):

      gpg-connect-agent /bye
      export SSH_AUTH_SOCK=$(gpgconf --list-dirs agent-ssh-socket)
      

      Après ça, la clef d’authentification devrait automatiquement être disponible pour SSH dès lors que la Yubikey est insérée.

      Aucune des manipulations ci-dessus ne devrait affecter le fonctionnement normal de GnuPG ou interférer avec Enigmail. Si elles le font, c’est qu’il y a un problème dans ton installation, qu’il convient de débugger. (Ici, vu le message “GnuPG cannot query your passphrase via pinentry”, je subodore que le problème est davantage lié à l’option pinentry-program /usr/local/bin/pinentry-curses dans ton gpg-agent.conf qu’à une modification de ton .bashrc.)

      • [^] # Merci

        Posté par  . Évalué à 1.

        Merci gouttegd, je vais réessayer bientôt mais comme j'ai besoin de GPG et enigmail ces jours je ne peux pas réessayer tout de suite.

        Cdt,

        arnauld

  • # Commentaire supprimé

    Posté par  . Évalué à -3. Dernière modification le 31 mars 2020 à 11:26.

    Ce commentaire a été supprimé par l’équipe de modération.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.