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

Langage Perl Discussion :

Perl et Net::SSH::Perl::Auth


Sujet :

Langage Perl

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Perl et Net::SSH::Perl::Auth
    Bonjour,

    Je decouvre Perl depuis peu et j'apprend sur le tas.
    J'ai decouvert le module Net::SSH:erl::Auth qui me permet via Net::SSH:erl::Auth:ublicKey de pouvoir faire une connexion SSH par certificat sur mes machines.

    C'est exactement ce dont j'ai besoin pour faire mon système de sauvegarde.
    Par contre, je ne trouve que des brides de code comme ici : http://search.cpan.org/~dbrobins/Net...h/PublicKey.pm mais nul part, toute la partie ssh avec certificat.

    Si quelqu'un peu eventuellement m'expliquer ou bien me donner un bout de code ( voir les deux ) pour que je comprenne mieux ce serais sympa.

    Merci d'avance.

  2. #2
    Membre émérite
    Avatar de Jasmine80
    Femme Profil pro
    Bioinformaticienne
    Inscrit en
    Octobre 2006
    Messages
    3 157
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 44
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Bioinformaticienne
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2006
    Messages : 3 157
    Points : 2 673
    Points
    2 673
    Par défaut
    Je ne connais pas ce module mais j'ai trouvé un site pouvant t'intéresser : http://www.koders.com/perl/fidE1896B...436.aspx?s=ssh

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    En effet, mais ca c'est pas la fonction qui permet de faire des connexions ssh avec certificat ?
    Mon problème est encore plus nul que ca, c'est que je sais pas comment faire le code pour la connexion ssh via certificat

  4. #4
    Futur Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    je suis dans le même cas que toi et il y a toujours rien qui pourrait m'aider...

    en bash ( ssg budil@x.x.x.x ) la connexion se fait sans probleme avec une rsa
    mais en PERL ???
    voila 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
     
    #! /usr/bin/perl -w
    use strict;
    use Net::SSH::Perl;
    use Net::SSH::Perl::Auth;
     
    my $ssh = Net::SSH::Perl->new('x.x.x.x', debug=>'1',protocole => 2 , identity_files => "/root/.ssh/id_rsa.pub");
    my $auth = Net::SSH::Perl::Auth->new('RSA', $ssh);
     
    $ssh->login("bidul");
     
    print "Valid auth" if $auth->authenticate;
     
    my($stdout, $stderr, $exit) = $ssh->cmd('ls');
    print $stdout;
    #print $stderr;
    print $exit;
    quelqu'un a t-il peut-etre la solution pour réussir une connexion sécurisé ssh rsa en perl ?

  5. #5
    Membre éclairé
    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
    Points : 712
    Points
    712
    Par défaut
    Je fait comme ça:
    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
     
    if ( not exists $config{passwd} ) {
         $ssh = Net::SSH::Perl->new(
    		$host,    
                   #protocol=>'2',
    		#debug=>"true",
    		options => [
    			"BatchMode yes",
    			"RhostsAuthentication no",
    			"CheckHostIP no",
    			"StrictHostKeyChecking no",
    			"ConnectionAttempts 2"
    			]
    		);
    		$ssh->config->set( "auth_dsa",      1 );
    		$ssh->config->set( "auth_password", 0 );
    		$ssh->login($config{user});
    ....
    Il y a probablement des choses inutiles, et attention, c'est du dsa, pas du rsa.

  6. #6
    Futur Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    merci beaucoup,
    j'ai réussi en rsa en modifiant quelque trucs
    par contre je ne peut pas lancer 2 connexions d'affiler :

    Net::SSH: Can't bind socket to port 1023: Adresse déjà utilisée at ./test_ssh_rsa2.pl line 9
    le port 1023 reste en TIME WAIT

    tcp 0 0 x.x.x.x:1023 y.y.y.y:22 TIME_WAIT 0 0

    ya-t'il un moyen de remédier a cela ?

  7. #7
    Membre éclairé
    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
    Points : 712
    Points
    712
    Par défaut
    Ca me surprend beaucoup. Déjà, c'est compliqué, parce que sur beaucoup de système, il faut les droits de root ou admin pour ouvrir une socket sur un port en < 1024. Ensuite, j'utilise moi même Net::SSH:erl pour faire lancer des ssh en parallèle sur des dizaines de serveurs. C'est forcément un problème que j'aurai eu.
    A l'occasion, je vérifierai, mais je n'ai pas de doute sur le résultat.
    Quelles sont les options que vous utilisez ?

  8. #8
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    2
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2009
    Messages : 2
    Points : 4
    Points
    4
    Par défaut
    Citation Envoyé par pinif Voir le message
    Net::SSH: Can't bind socket to port 1023: Adresse déjà utilisée at ./test_ssh_rsa2.pl line 9
    le port 1023 reste en TIME WAIT

    tcp 0 0 x.x.x.x:1023 y.y.y.y:22 TIME_WAIT 0 0

    ya-t'il un moyen de remédier a cela ?
    Oui, on peut remedier à cela, il faut rajouter cette option à la creation de la nouvelle connexion SSH :
    privileged => 0

    Ex
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    $ssh = Net::SSH::Perl->new($host, 
        debug => 0, 
        options =>["StrictHostKeyChecking no",
                       "HostbasedAuthentication no",
                       "GSSAPIAuthentication no"], 
        privileged => 0, 
        identity_files => ["/root/.ssh/id_dsa"],
        protocol=>'2' );
    $ssh->login("root");
    ($out, $err, $exit) = $ssh->cmd($commande);
    $ssh->cmd("exit");
    Par contre j'ai l'impression que dans mon code les options ne sont pas prises en compte car le GSSAPIauthentification est toujours utilisé lors de la connexion.

    Une idée ??

Discussions similaires

  1. Net::SSH:Perl - Perl.pm
    Par pratheep dans le forum Programmation et administration système
    Réponses: 2
    Dernier message: 25/01/2009, 22h21
  2. Perl - Net::SSH:Perl
    Par pratheep dans le forum Modules
    Réponses: 3
    Dernier message: 24/11/2008, 21h09
  3. Net::ssh::perl->cmd ne marche pas
    Par Songohan dans le forum Modules
    Réponses: 8
    Dernier message: 21/11/2008, 11h56
  4. Réponses: 6
    Dernier message: 04/11/2008, 10h51
  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, 22h32

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