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

Bibliothèques et frameworks PHP Discussion :

[SSH2] test d'exécution de commande ssh


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre averti
    Inscrit en
    Juin 2008
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 28
    Par défaut [SSH2] test d'exécution de commande ssh
    bonjour,
    je suis en train de développer une application web permettant de communiquer avec des serveurs via SSH
    en lisant la documentation officielle, j'ai appris que la fonction ssh2_exec() renvoie FALSE si la commande ne s'est pas exécutée correctement. mais je n'arrive pas a faire ce test et lorsque je fait un echo de la valeur de retour, je reçoit toujours le même chiffre , que la commande soit bonne ou pas.

    voici mon script:

    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
    <?php
    $connection = ssh2_connect('localhost',22);		
    		if(ssh2_auth_password($connection, 'root', '******'))
    		{
    			echo "connection SSH reussie";
    			echo "<br>";
     
    			$stream=ssh2_exec($connection, 'net start AudioSrv');
    			if($stream != FALSE)
    			{
    				echo "ça marche !!!";
    			}
    			else
    			{
    				echo "ça ne marche pas !";
    			}					
    		}
    		else 
    		{
    			echo "Authentification echouée...";
    		}
    ?>
    merci d'avance

  2. #2
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Par défaut
    pour tester aussi le type de la variable.

    Maintenant si le chiffre envoyé est toujours le même , le problème vient surement d'ailleurs
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  3. #3
    Membre averti
    Inscrit en
    Juin 2008
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 28
    Par défaut test type
    je viens de tester avec le code if($res !== FALSE)
    mais je rencontre toujours le même problème.
    comme si en cas d'erreur, la valeur de retour de vaut jamais FALSE.
    après test, je reçoit :

    Resource id #9

    que la commande soit bonne ou pas.
    E j ene voit pas du tout d'ou cela peut venir

  4. #4
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Par défaut
    sur la doc , ils procèdent d'abord a une connexion , ce qui peut expliquer que ta valeur de retour soit un ressource .
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  5. #5
    Membre averti
    Inscrit en
    Juin 2008
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 28
    Par défaut resolution
    j'ai finalement trouver le moyen de récupérer le retour de ssh2_exec.
    voici le script modifié pour ceux que ça intéresserait

    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
    //initialisation de la connection au serveur distant via SSH	
    		$connection = ssh2_connect('localhost',22);		
     
    		//identification aupres du serveur distant
    		if(ssh2_auth_password($connection, 'root', '*******'))
    		{
    			echo "connection SSH reussie";
    			echo "<br>";
     
    			//demarrage de la base de donnée	
    			$stream = ssh2_exec($connection, 'net cvedfg AudioSrv');
    			stream_set_blocking($stream, true);
    			if($output = stream_get_contents($stream))
    			{
    				echo $output;
    				print "<br>";
    			}
    			else
    			{
    				print "la base est pas démarrée";
    			}
    toujours dans le même sujet, une question me tarrode:
    le résultat de $output renvoi une chaine mais les accents ne passent pas; comment faire pour éviter ce problème ?

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 448
    Par défaut
    ils sont comment tes accents ? Disparu ? en @*:!ù ?

Discussions similaires

  1. module Net::SSH2 curiosité exécution commande ssh ?
    Par tintin3158 dans le forum Modules
    Réponses: 13
    Dernier message: 22/08/2014, 15h07
  2. [SSH] Exécuter plusieurs commandes à distance
    Par tck-lt dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 13/04/2011, 17h13
  3. Exécuter commande SSH dans un script PHP.
    Par Greg05000 dans le forum Linux
    Réponses: 0
    Dernier message: 14/04/2010, 00h19
  4. [SSH] exécuter des commandes Unix via C#
    Par Rukia dans le forum C#
    Réponses: 4
    Dernier message: 23/04/2009, 10h33

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