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

Réseau/Web Python Discussion :

[paramiko] méthode close qui ne fonctionne pas


Sujet :

Réseau/Web Python

  1. #1
    Membre actif Avatar de Balbuzard
    Profil pro
    Inscrit en
    Août 2008
    Messages
    381
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 381
    Points : 263
    Points
    263
    Par défaut [paramiko] méthode close qui ne fonctionne pas
    Bonjour à tous,

    Je viens de découvrir paramiko pour permettre à mes scripts python de réaliser des opérations à distance;

    Voici le code que j'utilise.
    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
    #!/usr/bin/python
     
    import paramiko
    import os
     
    ssh = paramiko.SSHClient()
    private_key = os.path.expanduser('~/.ssh/id_dsa')
    mkey = paramiko.DSSKey.from_private_key_file(private_key,password='******')
    ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
    ssh.connect('monitor', username='*****', pkey = mkey)
    stdin, stdout, stderr = ssh.exec_command('whoami')
    print stdout.readlines()
    print "before"
    ssh.close
    print "after"
    J'ai bien l'hostname qui d'affiche, donc toutes les étapes sont bien faites jusqu'à "before".
    J'ai l'affichage de "before" et de "after" donc la méthode ssh.close est exécutée.
    Mais je ne suis pas déconnecté, ma console a toujours son prompt prêt à recevoir des commandes, ne fait plus rien et pas moyen même avec Ctrl+C Ctrl+D de terminer le script ni la connexion ssh.

    Je travaille sur Ubuntu 10.10 avec python 2.6.6, n'hésitez pas à me demander plus de précision! Je ne vois vraiment pas comment débugguer ce soucis.

    Merci pour votre aide!
    ZORRO
    Plus Vengeur que Masqué

  2. #2
    Expert confirmé Avatar de PauseKawa
    Homme Profil pro
    Technicien Help Desk, maintenance, réseau, système et +
    Inscrit en
    Juin 2006
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien Help Desk, maintenance, réseau, système et +
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 725
    Points : 4 005
    Points
    4 005
    Par défaut
    Bonsoir Balbuzard,

    Je ne connais pas paramiko mais pour finir mes sessions ssh je fais un exit.
    Un ssh.exec_command('exit') ? Je ne sais pas mais a tester non ?

    Bon code

    Ps : Ceci dit je vais regarder paramiko de plus prêt.
    Merci d'utiliser le forum pour les questions techniques.

  3. #3
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Salut
    a priori close est une méthode.
    Pour l'appeler, il faut mettre (), i.e.
    ssh.close()
    et non
    ssh.close
    - W
    PS: Jetez aussi un oeil à fabric, çà fait un peu plus que SSH
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  4. #4
    Expert confirmé Avatar de PauseKawa
    Homme Profil pro
    Technicien Help Desk, maintenance, réseau, système et +
    Inscrit en
    Juin 2006
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien Help Desk, maintenance, réseau, système et +
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 725
    Points : 4 005
    Points
    4 005
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    Salut
    a priori close est une méthode.
    Pour l'appeler, il faut mettre (), i.e.
    ssh.close()
    et non
    ssh.close
    - W
    PS: Jetez aussi un oeil à fabric, çà fait un peu plus que SSH
    Que dire de plus...
    Merci d'utiliser le forum pour les questions techniques.

  5. #5
    Membre actif Avatar de Balbuzard
    Profil pro
    Inscrit en
    Août 2008
    Messages
    381
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 381
    Points : 263
    Points
    263
    Par défaut
    Ok, merci beaucoup!
    Confusion avec Ruby en fait, la syntaxe n'est pas la même et j'avais oublié le '()' pour le close.
    Je regarde fabric!
    ZORRO
    Plus Vengeur que Masqué

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

Discussions similaires

  1. méthode SAVEAS qui ne fonctionne pas dans ACCESS/OUTLOOK
    Par emulamateur dans le forum VBA Access
    Réponses: 2
    Dernier message: 12/03/2015, 10h39
  2. [AJAX] Méthode $_POST qui ne fonctionne pas
    Par zoom61 dans le forum AJAX
    Réponses: 10
    Dernier message: 23/04/2014, 18h26
  3. Méthode getSignalStrength() qui ne fonctionne pas
    Par mira- dans le forum Android
    Réponses: 1
    Dernier message: 31/05/2012, 15h18
  4. CREATEFILEMAPPING qui ne fonctionne pas???
    Par Jasmine dans le forum MFC
    Réponses: 2
    Dernier message: 06/01/2004, 19h33
  5. UNION qui ne fonctionne pas
    Par r-zo dans le forum Langage SQL
    Réponses: 7
    Dernier message: 21/07/2003, 10h04

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