-
1 pièce(s) jointe(s)
ssh n'est pas reconnu
Bonjour à tous,
J'ai un problème lors de la création de clé ssh sous windows 10 64bits de manière automatique.
A la main, en ligne de commande, la création se passe bien en 32 et 64 bits.
Lorsque je passe en mode automatique (les clés se créent en appuiant sur un bouton d'un programme que j'ai fait en C) en 32 bits, tout fonctionne mais pas en 64 bits (j'ai l'erreur : ssh-keygen n'est pas reconnu comme...).
Dans mon programme en c, lors du clic sur le bouton, je lance une commande pour créer les clés (commande qui fonctionne) avec CreateProcess et je lance aussi un script contenant la même commande. Je fais ces deux choses pour mes tests.
J'ai toujours cette erreur alors qu'on dirait bien que tout s'execute très bien avec C:\Windows\System32\cmd.exe :
(en haut, après clic sur le bouton et en bas, ouverture d'une cmd dans la barre de recherche)
Pièce jointe 475430
des idées de pourquoi la commande n'est pas reconnu dans le cas du passage par le programme en c et sur windows 10 64 bits ? Sachant qu'en 32 bits le même programme fonctionne... plus de 10h que je suis dessus et il ne me reste plus beaucoup de cheveux....
-
Bonjour,
Et en spécifiant le chemin complet menant à SSH (dans votre programme) ?
-
Bonjour,
Il faudrait mettre ce chemin où ? Dans CreateProcess ? Mais sur quel argument ?
Mon chemin est : C:\Windows\System32\OpenSSH\ puis j'ai 7 éléments
-
Je testerai en le mettant là où vous avez mis "ssh.exe". Sinon, dans le paramètre lpCurrentDirectory.
-
Aucun de mes tests ne fonctionnent.
Pourriez-vous me montrer comment vous feriez appel à CreateProcess avec ssh pour que je puisse comparer avec ce que j'ai fait dans mes tests ?
Merci
-
Même en mettant la commande dans un .bat et en l’exécutant en c avec system() ou CreateProcess, ça ne fonctionne pas. Alors qu'en double cliquant sur le .bat, ça fonctionne.
Je ne sais plus quoi faire ! :arf:
-
Ça ressemble vraiment à une question de répertoire courant.
-
Je suis en phase de test mais je pense avoir résolu le problème en copiant le dossier OpenSSH de system32 dans SysWOW64. Je vous tiens au courant
-
Ah non, gros problème!
Les versions 32 bits et 64 bits d'une bibliothèque ne sont pas les mêmes fichiers, tu mens à Windows avec ça.
De plus, si c'est une bibliothèque externe, que fait-elle dans System32?
-
Oui mais pour le moment, c'est la seule solution qui fonctionne.
Pour ce qui est du dossier OpenSSH, je n'ai pas dit qu'il s'agissait d'une bibliothèque externe, il n'est pas natif ? Microsoft n'a pas intégré un support natif de SSH sur Windows ?