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

Programmation et administration système Perl Discussion :

problème connexion ssh


Sujet :

Programmation et administration système Perl

  1. #1
    Candidat au Club
    Inscrit en
    Avril 2007
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 4
    Points : 3
    Points
    3
    Par défaut problème connexion ssh
    Bonjour,
    je dois créer un programme qui se connecte en ssh à un poste distant.
    Les login, mot de passe et nom de l'hote doivent être récupérés à partir d'un fichier.

    Si je fais mon programme comme ça, en donnant directement les variables $host, $username et $password, le programme marche bien.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    #!/usr/bin/perl -w
    use strict;
    use Net::SSH::Perl;
     
    my $host = "********";
    my $username = "********";
    my $password = "********";
     
    my $ssh = Net::SSH::Perl->new($host);
    $ssh->login($username, $password);
     
    $ssh->cmd('**commande à effectuer**');
    Par contre si je tente la récupération des variables à partir du fichier, la connexion ne marche pas, alors que les variables contiennent exactement la même chose que dans le 1er cas, j'ai fait des tests avec des if pour vérifier.
    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
     
    #!/usr/bin/perl -w
    use strict;
    use Net::SSH::Perl;
     
    my ($host, $username, $password);
     
    open(INI, "config.ini") or die ("error opening config.ini");
            while (<INI>)
            {
                    ($a, $b) = split / = /, $_, 2;
                    if ($a eq "login") {$username = $b;}
                    elsif ($a eq "pass") {$password = $b;}
                    elsif ($a eq "test_name") {$host = $b;}
            }
    close(INI);
     
    chomp ($username, $password, $host);
     
    my $ssh = Net::SSH::Perl->new($host);
    $ssh->login($username, $password);
     
    $ssh->cmd('**commande à effectuer**');
    sachant que mon fichier config.ini contient ces lignes :
    login = ********
    pass = ********
    test_name = ********
    Quand j'exécute ce programme, j'ai ça qui apparaît :
    input must be 8 bytes long at /usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi/Crypt/DES.pm line 57.
    Est-ce que quelqu'un a déjà eu ce problème ?

  2. #2
    Expert éminent
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Points : 8 586
    Points
    8 586
    Par défaut
    Tu as oublié de chomp()er les lignes, il reste un \n qui traine à la fin...

    --
    Jedaï

  3. #3
    Candidat au Club
    Inscrit en
    Avril 2007
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    Bah non le chomp() est bien là :
    Citation Envoyé par nic_cool
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    chomp ($username, $password, $host);
    Et puis je peux aussi faire un test : avant la connexion, je rajoute ce test :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    if ($username eq "********" and $password eq "********" and $host eq "********")
    {print "OK\n";}
    le progrmme m'affiche bien "OK" avant de me mettre la même ligne d'erreur, donc les variables contiennent bien exactement la même chose que dans le cas de mon 1er programme, qui lui passe la connexion sans problème...

  4. #4
    Expert éminent
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Points : 8 586
    Points
    8 586
    Par défaut
    Ca me dépasse... Je vois une possibilité : tu lis par défaut en utf8, tes strings sont donc marquées comme utf8 (même s'il n'y a aucun caractère en dehors du ASCII dedans) et ça perturbe Crypt:: DES pour une raison qui m'échappe.
    Essaie d'utiliser Encode::is_utf8() pour vérifier et Encode::_utf8_off() si c'est bien ça.
    Mais je crains qu'il ne s'agisse que d'une fausse piste tirée par les cheveux....

    --
    Jedaï

  5. #5
    Candidat au Club
    Inscrit en
    Avril 2007
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    Youpi ça marche !!
    J'ai simplement rajouté et la connexion passe sans problème
    Merci beaucoup !!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant] Problème connexion SSH
    Par Wal0l dans le forum VB.NET
    Réponses: 2
    Dernier message: 16/08/2018, 15h42
  2. problème de connexion ssh (AIX)
    Par nora2311 dans le forum AIX
    Réponses: 0
    Dernier message: 11/02/2011, 10h21
  3. problème connexion ssh refused nvelle install
    Par susano dans le forum Debian
    Réponses: 3
    Dernier message: 26/03/2010, 01h59
  4. Problème connexion SSH
    Par gasper06 dans le forum Windows Serveur
    Réponses: 0
    Dernier message: 04/05/2009, 23h15
  5. Réponses: 1
    Dernier message: 13/04/2007, 16h55

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