connexion SSH2 sous windows [RESOLU] - Perl - Programmation
Marsh Posté le 05-04-2011 à 11:50:57
Tu utilises le perl de ActiveState sous Windows?
Si oui, il ne faut pas utiliser ppm, mais cpan (ppm ne pose pas de questions interactives je crois tandis que cpan le fait)
1) vérifies sous ppm que tu as les dernières versions des modules CPAN ar CPANPLUS sinon, installes les (et la dernière version du module yaml aussi tant qu'on y est)
2) lances cpan dans une fenetre DOS
3) laisses cpan installer sa version de mingw s'il le demande
4) quand cpan s'est initialise et a mis les bases a jour, tapes install Net::SSH::Perl (c'est sensible aux majuscules)
5) réponds aux deux dialogues (version du protocole et type de cryptage [choix des deux 3, et des 5 cryptages 1 2 3 4 5 en ce qui me concerne]
6) laisse les compils et installs des nombreux modules requis se faire se faire c'est long, je suis en train de le tester en te postant
7) quand c'est terminé, quittes en tapant quit
NOTE: sur ma machin, perl est plus rapide que le shell windows qui n'arrive pas a conférer les droits a certains fichiers temporaires avant que perl ne veuille les utiliser.
Ça donne une erreur (en rouge) avec arret: Could not rename: Permission denied
C'est pas grave, il suffit de relancer en utilisant la flèche vers le haut du clavier (parfois faut relancer deux fois, mais ça finit par passer).
Bon j'ai largement eu le temps d'écrire ceci et il est toujours en train d'installer des modules, donc c'est pas un truc simple, ce module de cryptage, mais bon, il devrait finir par en venir à bout.
EDIT, c'est même très long, la ça fait bientôt une heure qu'il compile le module Crypt::DH
A+,
Marsh Posté le 05-04-2011 à 14:02:04
Bon, je suis bloqué au même niveau:
La compil de Math::Pari qui est pas du tout prévue de se faire sur autre chose que unix apparement (le makefile tient a utiliser gcc au lieu de mingw etc)
Il faudrait voir ce qui a changé depuis la version qui marchait avec Perl 5.8 d'il y a un an et qu'on trouve ici: http://cpan.uwinnipeg.ca/dist/Math-Pari
A+,
Marsh Posté le 05-04-2011 à 14:33:43
salut !
merci pour le temps consacré
Du coup je vais essayer de modifier le makefile pour qu'il utilise mingw.
Sinon je vais descendre d'un cran et passer en C avec libssh2.
Une version qui date de 1 an c'est surprenant !
Marsh Posté le 05-04-2011 à 16:49:46
Bon,
J'ai très vite laissé tomber le makefile et ai cherché un autre moyen en C, mais par hasard je suis tombé sur un autre module Perl qui utilise libssh2 :
Net::SSH2.
Pourquoi deux modules ?
Est-ce que celui-ci est moins "secure" ?
En tout cas via ppm j'ai pu l'installer, et il marche très bien :
Code :
|
Marsh Posté le 05-04-2011 à 22:46:44
Oui, j'avais aussi pensé à ce module, mais je craignais qu'on retombe dans les mêmes problèmes. Tant mieux s'il marche lui sans problème.
La différence si j'ai bien compris: Net::SSH::Perl est une implémentation "pure perl" (mais vu comment il utilise des tonnes de modules externes qui lui ne le sont pas, euh...) tandis que Net::SSH2 est un wrapper évolué autour d'une librairie.
A+,
Marsh Posté le 06-04-2011 à 11:00:29
Yep ,
bon, pour ceux qui voudraient exécuter une commande sur le poste, j'ai trouvé un bout de code tout simple (http://www.perlmonks.org/?node_id=621761):
(/!\ ne pas oublier d'enregistrer le .pl avec les sauts de ligne en type UNIX quand on veut attaquer une machine UNIX /!\)
Code :
|
PS : on met résolu comment?
++
Marsh Posté le 06-04-2011 à 11:01:59
On met résolu en éditant le titre de son premier post.
A+,
Marsh Posté le 05-04-2011 à 08:54:49
Bonjour,
J'aimerais créer une connexion SSH avec le protocole 2 d'une machine Windows vers une machine UNIX via le système clef privé/publique.
Pour cela j'ai donc créé un jeu de clef (id_dsa, id_dsa.pub) et j'ai renseigné le code perl suivant :
ET la je tombe sur une erreur m'indiquant qu'il me manque le paquet Net::SSH:Perl.
Pour l'installer, je tape donc en ligne de commande dans un shell : ppm install Net-SSH-Perl.
J'obtiens l'affichage suivant :
tout semble bien se passer, je vais dans C:\Temp ou je localise un dossier :
"perl------------please-run-the-install-script------------"
Et la petit soucis, rien de type .exec,.bat, etc...
Du coup, je cherche un peu et on me dit qu'il suffit de copier les fichiers contenus dans C:\Temp\perl------------please-run-the-install-script------------\site\lib
à la bonne place dans ma lib perl :"Perl\lib"
Je copie les dits fichiers, puis lance mon test.pl contenant le précédant code.
Et là, j'obtiens les erreurs suivantes :
Bizarre car j'ai bien le fichier Pari.pm dans le dossier Perl\lib\Math.
J'ouvre le fichier Pari.pm, et, diable, voilà qui est bien bizarre :
http://cpansearch.perl.org/src/ILY [...] 09/Pari.pm
Du coup je me dis qu'il y a eu une erreur lors de l'installation du package, je regarde le ppm4.log et j'obtiens les erreurs suivantes :
J'ai essayé de recompiler Pari sans succès :
voilà où j'en suis, si quelqu'un pense savoir où j'ai mal géré, se sera avec joie que je recevrais les critiques .
Message édité par mageni le 06-04-2011 à 11:38:59