Précédent   Forum du club des développeurs et IT Pro > Autres langages > Python & Zope > Réseau/Web
Réseau/Web Forum d'entraide sur Python et le réseau/Web
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 24/05/2012, 15h22   #1
otobenzina
 
Othmane BENZINA
Inscription : mai 2012
Messages : 15
Détails du profil
Informations personnelles :
Nom : Othmane BENZINA
Localisation : Maroc

Informations forums :
Inscription : mai 2012
Messages : 15
Points : -4
Points : -4
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
otobenzina est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/05/2012, 10h06   #2
PauseKawa
Expert Confirmé
 
Avatar de PauseKawa
 
Homme Patrice BLANGARIN
Technicien Help Desk, maintenance, réseau, système et +
Inscription : juin 2006
Messages : 2 615
Détails du profil
Informations personnelles :
Nom : Homme Patrice BLANGARIN
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 615
Points : 3 727
Points : 3 727
Bonjour,

Lorsque vous parlez de script de quoi s’agit il ?
Une proposition:
Code :
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.
PauseKawa est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/08/2012, 17h23   #3
Balbuzard
Membre confirmé
 
Avatar de Balbuzard
 
Inscription : août 2008
Messages : 379
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : août 2008
Messages : 379
Points : 216
Points : 216
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é
Balbuzard est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/08/2012, 21h26   #4
PauseKawa
Expert Confirmé
 
Avatar de PauseKawa
 
Homme Patrice BLANGARIN
Technicien Help Desk, maintenance, réseau, système et +
Inscription : juin 2006
Messages : 2 615
Détails du profil
Informations personnelles :
Nom : Homme Patrice BLANGARIN
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 615
Points : 3 727
Points : 3 727
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.
PauseKawa est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 11/08/2012, 10h47   #5
fred1599
Membre Expert
 
Avatar de fred1599
 
Homme Fred
Enseignant
Inscription : juillet 2006
Messages : 1 322
Détails du profil
Informations personnelles :
Nom : Homme Fred
Localisation : France, Meurthe et Moselle (Lorraine)

Informations professionnelles :
Activité : Enseignant
Secteur : Enseignement

Informations forums :
Inscription : juillet 2006
Messages : 1 322
Points : 1 820
Points : 1 820
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)
fred1599 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/08/2012, 12h40   #6
Balbuzard
Membre confirmé
 
Avatar de Balbuzard
 
Inscription : août 2008
Messages : 379
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : août 2008
Messages : 379
Points : 216
Points : 216
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;

Citation:
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é
Balbuzard est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 12h33.


 
 
 
 
Partenaires

Hébergement Web