Forum Linux.général Impossible d'accéder à virt-manager à distance via SSH avec Gnu GuixSD

Posté par  . Licence CC By‑SA.
0
30
nov.
2020

Bonjour,

J'aimerai pouvoir accéder via virt-manager depuis un ordinateur tournant sur Gnu Guix SD à mes machines virtuelles présent sur un autre ordinateur.

virt-manager utilise SSH pour accéder au ordinateur à distance.

J'ai configure les clées SSH pour accéder à mon ordinateur distant, la connection ssh se fait sans aucun souci.

Cependant pour pouvoir se connecter à distance à travert virt-manager il faut installer le paquet gnome-ssh-askpass.

En cherchant sur la dépôt de package gnu guix je n'ai pas trouvé ce paquet. J'en ai trouvé un autre je l'ai installé mais sa ne fonctionne pas.

virt-manager affiche une erreur comme quoi le paquet askpass n'est pas présent lorsque j’essaye de me connecter via ssh.

En testant avec une machine virtuelle sous Archlinux et virt-manager j'ai bien réussi à accéder à mes machines virtuelles.

Il y a t'il un paquet qui pourrait le remplacer ?

  • # r-askpass peut-être ?

    Posté par  . Évalué à 2.

    une recherche sur internet avec "Guix askpass" m'envoie sur la page suivante

    http://guix.gnu.org/packages/r-askpass-1.1/

  • # Solution "vieux pots"

    Posté par  . Évalué à 1.

    • Côté client : ssh -X ... <user>@<host> (ou -Y; là de tête, je ne me rappelle pas la différence)
    • Côté serveur : virt-manager

    À la condition de pouvoir installer virt-manager sur le serveur.

  • # 1..2..3...

    Posté par  . Évalué à 2. Dernière modification le 30 novembre 2020 à 21:59.

    Au choix:

    1. si par "sans soucis" tu entends sans devoir entrer de password, que ce soit le mot de passe de ta clef ou le mot de passe de ton utilisateur remote, c'est que tu utilise probablement le mauvais nom d'utilisateur. Vérifie que ton "Libvirt URI" soit "qemu+ssh://[USER]@[HOST]/system" avec le même [USER] que dans ton test.

    2. SSH ne trouve pas ssh-askpass, ce qui peut-être un bug dans guix ou pas. Cependant tu peux lui indiquer le chemin en exportant la variable SSH_ASKPASS=/chemin/vers/ssh-askpass avant le lancer virt-manager. Consulte la documentation de guix pour savoir comment retrouver le path de l'exécutable dans le paquet que tu as installé. Sur une distrib traditionnelle il devrait se trouver dans /usr/libexec/openssh/XXX-ssh-askpass. Alors dans guix, ca va être un peu plus dur à trouver, mais bon vu que c'est ton choix de distrib tu es sensé pouvoir te démerder… au pire fais un env SSH_ASKPASS=`find /gnustore -name \*askpass\* -executable -type f | head -1` virt-manager ;-)

    3. Vu que tu souhaites t'authentifier par clef, le password qu'il te demande est sensé être celui de ta clef privée. Il suffit de la charger dans ton agent ssh pour ne plus devoir la déchiffrer au moment où virt-manager utilise ssh. "ssh-add maclef" devrait faire l'affaire…

    4. Virt-manager se torche comme un pochtron, enlève la ligne contenant "show_errmsg = False" de /usr/share/virt-manager/virtManager/lib/connectauth.py et tu auras un message plus explicite (%modulo le path dans le gnustore…).

    5. En fait non, je n'ai pas d'autre idée clef en main… Je ne sais pas comment guix gère les binaires de types "libexec". Pour un binaire classique, c'est facile il est dans ton profile, et un simple which binaire te donne le path complet. Pour un libexec, à priori guix doit patcher cela à la compilation (tout comme les !shebang etc). Donc à mon avis, tu (ou virt-manager) utilise(s) le mauvais paquet "client ssh", ou bien c'est un bug dans guix. Tu auras plus d'info en contactant les gens de guix directement! Feel free de backfeeder ici lorsque tu auras ta solution…

  • # Fonctionne avec ssh-add

    Posté par  . Évalué à 1.

    En ajoutant ma clée privée avec ssh-add sa a régler le problème.

Suivre le flux des commentaires

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