IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Modules Perl Discussion :

Net::ssh::perl->cmd ne marche pas


Sujet :

Modules Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 8
    Par défaut Net::ssh::perl->cmd ne marche pas
    Bonjour, je ne parviens pas à exécuter de commandes à distance via Net::SSH:erl.

    Voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    #!/usr/bin/perl
     
    use Net::SSH::Perl;
     
    %params=(
       debug => "true");
    $host='10.66.44.180';
    $user="toto";
    $pass='toto';
        my $ssh = Net::SSH::Perl->new($host,%params);
        $ssh->login($user, $pass);
        my($stdout,$stderr,$exit) = $ssh->cmd('ls');
        print "fin\n";
        print "$stdout\n";
     
    %opts=(
           copy_perm => 'true' ,
           resume => 'auto' );
    Voici, ce que j'obtiens à l'éxécution :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
     
    toto.fr: Reading configuration data /root/.ssh/config
    toto.fr: Reading configuration data /etc/ssh_config
    toto.fr: Allocated local port 1023.
    toto.fr: Connecting to 10.66.44.180, port 22.
    toto.fr: Remote version string: SSH-2.0-OpenSSH_2.2p1 Ericsson SSH Server for OSE, CXC1328552_R2G01
     
    toto.fr: Remote protocol version 2.0, remote software version OpenSSH_2.2p1 Ericsson SSH Server for OSE, CXC1328552_R2G01
    toto.fr: Net::SSH::Perl Version 1.30, protocol version 2.0.
    toto.fr: Compat match: 'OpenSSH_2.2p1 Ericsson SSH Server for OSE, CXC1328552_R2G01' matches pattern '^OpenSSH[-_]2\.[012]'.
    toto.fr: Connection established.
    toto.fr: Sent key-exchange init (KEXINIT), wait response.
    toto.fr: Algorithms, c->s: 3des-cbc hmac-sha1 none
    toto.fr: Algorithms, s->c: 3des-cbc hmac-sha1 none
    toto.fr: Entering Diffie-Hellman Group 1 key exchange.
    toto.fr: Sent DH public key, waiting for reply.
    toto.fr: Received host key, type 'ssh-dss'.
    toto.fr: Host '10.66.42.100' is known and matches the host key.
    toto.fr: Computing shared secret key.
    toto.fr: Verifying server signature.
    toto.fr: Waiting for NEWKEYS message.
    toto.fr: Enabling incoming encryption/MAC/compression.
    toto.fr: Send NEWKEYS, enable outgoing encryption/MAC/compression.
    toto.fr: Sending request for user-authentication service.
    toto.fr: Service accepted: ssh-userauth.
    toto.fr: Trying empty user-authentication request.
    toto.fr: Authentication methods that can continue: password.
    toto.fr: Next method to try is password.
    toto.fr: Trying password authentication.
    toto.fr: Login completed, opening dummy shell channel.
    toto.fr: channel 0: new [client-session]
    toto.fr: Requesting channel_open for channel 0.
    toto.fr: channel 0: open confirm rwindow 0 rmax 32768
    toto.fr: Got channel open confirmation, requesting shell.
    toto.fr: Requesting service shell on channel 0.
    toto.fr: channel 1: new [client-session]
    toto.fr: Requesting channel_open for channel 1.
    toto.fr: Entering interactive session.
    toto.fr: Sending command: ls
    toto.fr: Requesting service exec on channel 1.
    toto.fr: channel 1: open confirm rwindow 0 rmax 32768
    Voila, ça bloque ici, sans jamais rien m'afficher.
    Comment résoudre ce problème svp ?

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 8
    Par défaut
    Personne n'a d'idée ?

    Je trouve étrange que ça ouvre 2 channels. Le problème ne viendrait-il pas de là ? Il est écrit dans la doc du module, qu'on ne peut ouvrir qu'un channel à la fois je crois.

  3. #3
    Membre émérite
    Profil pro
    Inscrit en
    Août 2008
    Messages
    505
    Détails du profil
    Informations personnelles :
    Localisation : France, Puy de Dôme (Auvergne)

    Informations forums :
    Inscription : Août 2008
    Messages : 505
    Par défaut
    Fait gaffe à la version de Net::SSH:erl. Il y a un bug assez ennuyeux sur la v.sion 1.31. IL faut passer à la 1.33. C'est la première chose à faire, à mon avis,

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 8
    Par défaut
    J'ai fait la mise à jour. Il y avait un petit bout de module pas à jour. Les "sous-modules" étaient tous en 1.33.

    Sinon, j'ai toujours le même problème. Que puis-je faire ?

  5. #5
    Membre émérite
    Profil pro
    Inscrit en
    Août 2008
    Messages
    505
    Détails du profil
    Informations personnelles :
    Localisation : France, Puy de Dôme (Auvergne)

    Informations forums :
    Inscription : Août 2008
    Messages : 505
    Par défaut
    Tu peux essayer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ./pssh -v toto.fr ls
    pour voir ce qui se passe. Chez moi, ça fonctionne (par contre, il faut une autorisation par clé publique) . Le fait d'ouvrir un deuxième channel ne pose pas de problème, en tout cas sur un openssh. Peut-être que le serveur de ericsson n'est pas totalement conforme ?

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 8
    Par défaut
    Tu as raison.
    Ericsson empêche de taper des commandes en mode non interactif.

    J'essaierai de simuler des frappes au clavier avec l'utilitaire expect (pas en perl).

    Merci pour ton aide.

Discussions similaires

  1. Perl et Net::SSH::Perl::Auth
    Par SoukoussMan dans le forum Langage
    Réponses: 7
    Dernier message: 23/09/2010, 15h36
  2. Réponses: 6
    Dernier message: 04/11/2008, 09h51
  3. [.NET 2 C#] EnabledViewstate=false ne marche pas
    Par gdkenny dans le forum ASP.NET
    Réponses: 9
    Dernier message: 28/06/2007, 10h53
  4. Réponses: 3
    Dernier message: 16/02/2007, 15h35
  5. Net::SSH::Perl Can't bind socket to port 1023: Adresse déjà utilisée
    Par sohnic dans le forum Programmation et administration système
    Réponses: 2
    Dernier message: 27/11/2006, 21h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo