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 :

Python et SSH


Sujet :

Réseau/Web Python

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2012
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations forums :
    Inscription : Mai 2012
    Messages : 15
    Points : 7
    Points
    7
    Par défaut Python et SSH
    Salut,

    SVP je cherche comment faire pour q'un script s'execute apres la connexion ssh c-a-d quand je tape la commande ssh user@IPdist la connexion ssh s'établisse et un script s'execute sur la console.

    j'ai fait une socket mais quand je fait la connexion le script s'execute sur le serveur et affiche rien dans la machie client

  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
    Bonjour,

    Lorsque vous parlez de script de quoi s’agit il ?
    Une proposition:
    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
    Python 3.2.2 (default, Sep  5 2011, 22:09:30) 
    [GCC 4.6.1] on linux2
    Type "help", "copyright", "credits" or "license" for more information.
    >>> script = "ls -Al > testclient.txt | tail testclient.txt > second.txt"
    >>> import subprocess
    >>> retour = subprocess.call(["ssh", "patrice@127.0.0.1", script])
    patrice@127.0.0.1's password: 
    >>> quit()
    patrice@Zeus:~/Bureau$ ls second.txt
    ls: impossible d'accéder à second.txt: Aucun fichier ou dossier de ce type
    patrice@Zeus:~/Bureau$ cd ..
    patrice@Zeus:~$ pwd
    /home/patrice
    patrice@Zeus:~$ ls second.txt
    second.txt
    patrice@Zeus:~$ cat second.txt 
    -rw-r--r--  1 patrice patrice        403 2007-10-29 01:54 webradios.m3u
    -rw-r--r--  1 patrice patrice      37360 2008-05-08 13:14 wget-log
    -rw-r--r--  1 patrice patrice     105485 2008-07-13 18:58 wget-log.1
    -rw-r--r--  1 patrice patrice      14069 2008-07-10 09:17 wiki xubuntu
    -rw-r--r--  1 patrice patrice    1449575 2007-08-18 15:27 Win98SE driver 4.0.100.1190.exe
    drwxrwxr-x  4 patrice patrice       4096 2012-04-01 09:29 .wine
    -rw-------  1 patrice patrice      11466 2009-07-26 09:40 wsbnote.bck
    -rw-------  1 patrice patrice         49 2012-05-26 06:02 .Xauthority
    -rw-r--r--  1 root    root          5179 2012-04-28 17:32 xorg.conf.new
    -rw-------  1 patrice patrice      30767 2012-05-26 09:52 .xsession-errors
    La différence de répertoire vous montre bien que le script est exécuté sur la 'machine distante'

    @+
    Merci d'utiliser le forum pour les questions techniques.

  3. #3
    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
    subprocess.call pour lancer la commande ssh, c'est vraiment n'importe quoi. Il a posté sa demande dans le forum python, donc du bash n'a à priori rien à y faire, non?

    Pour le SSH en python, le mieux est de passer par le module paramiko. Ensuite, pour qu'une commande soit exécutée, soit on tag la clef publique ssh placée sur le serveur avec le script à lancer (seule ce script pourra $etre exécuté avec la clef utilisée par le client ssh) soit on lance les commandes à partir de paramiko.
    ZORRO
    Plus Vengeur que Masqué

  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
    Bonsoir,

    Citation Envoyé par Balbuzard Voir le message
    subprocess.call pour lancer la commande ssh, c'est vraiment n'importe quoi. Il a posté sa demande dans le forum python, donc du bash n'a à priori rien à y faire, non?
    Et donc vous avez compris dans la demande du PO qu'il demandais comment utiliser paramiko pour exécuter un script distant via SSH et vous avez donner la solution ? Chapeau.
    Apprenez à comprendre 'qui est le PO' et quelle solution sera la plus adaptée comme réponse.

    @+
    Merci d'utiliser le forum pour les questions techniques.

  5. #5
    Expert éminent
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 784
    Points : 7 043
    Points
    7 043
    Par défaut
    Surtout qu'il ne demande pas comment utiliser ssh en python, mais comment détecter l'utilisation de la commande ssh.

    une simple commande bash pourrait suffire

    Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
    La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

  6. #6
    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
    Du coup, éventuellement en utilisant une clef ssh tagguée.

    Lors de la connexion, le script mis en paramètre de la clef s'exécute, et lorsqu'il a terminé son exécution, la connexion se coupe proprement.

    On devra juste utiliser une autre clef dans le cas d'une autre connexion "normale";

    EDIT: Je viens de me rendre compte que j'avais déjà proposé cette solution... PauseKawa, je parlais de paramiko pour établir des commandes ssh, et sinon de clef tagguées pour l'exécution d'un script en particulier;

    Ensuite, pour qu'une commande soit exécutée, soit on tag la clef publique ssh placée sur le serveur avec le script à lancer
    Enfin, de toute façon, notre PO est bien silencieux, peut-être a-t-il déjà trouvé la solution :/
    ZORRO
    Plus Vengeur que Masqué

Discussions similaires

  1. Conenxion SSH python et raspberry
    Par Stoufiler dans le forum Réseau/Web
    Réponses: 4
    Dernier message: 14/06/2015, 18h24
  2. Python : surveillance SSH
    Par asceltis dans le forum Réseau/Web
    Réponses: 2
    Dernier message: 17/12/2013, 23h58
  3. Connexion SSH sur un script Python
    Par otobenzina dans le forum Linux
    Réponses: 1
    Dernier message: 28/05/2012, 14h25
  4. Conseil Python + SSH pour gerer du cisco
    Par hell_de_phoenix dans le forum Réseau/Web
    Réponses: 4
    Dernier message: 13/06/2011, 22h14
  5. CORBA & PYTHON
    Par stan91stan dans le forum CORBA
    Réponses: 5
    Dernier message: 10/06/2004, 13h32

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