lancer un script sur une machine distante via php

lancer un script sur une machine distante via php - PHP - Programmation

Marsh Posté le 26-02-2010 à 16:51:48    

Bonjour,
 
je voudrais exécuter des scripts sur une machine distante a travers une page php.
 
Ma connexion fonctionne, j'ai une autorisation via clé publique, ça c'est bon.
Mon problème se situe au niveau de l'exécution de ma commande car elle est exécutée par daemon et non pas par root. bien que dans mes fonction ssh2 j'utilise le login root.
 
Voici mon code :
 

Code :
  1. $connection = ssh2_connect('192.168.0.121', 22);
  2. if (!$connection) die('Echec de la connexion');
  3. if (!ssh2_auth_pubkey_file($connection, 'root','/root/.ssh/id_dsa.pub','/root/.ssh/id_dsa'))
  4. {
  5. echo "Failed to authenticate\n";
  6. }
  7. else{
  8. echo "Logged in\n";
  9. echo "Identification réussie en utilisant une clé publique\n";
  10. $stream = ssh2_exec($connection, 'ls -l /root');
  11.  stream_set_blocking( $stream, true );
  12.             $data = "";
  13.             while( $buf = fread($stream,4096) ){
  14.                 $data .= $buf;
  15.                 echo $data;
  16.             }
  17.             fclose($stream);
  18. $commande = 'ssh root@192.168.0.121 ls -l /root';
  19. echo exec($commande);
  20.  }


 
Donc ma question est pourquoi ma commande n'est pas passée en tant que root alors que dans ma fonction (ssh2_auth_pubkey_file) je n'utilise que cet utilisateur ?
 
Il y a certainement quelques chose qui m'échappe a ce sujet, ssh2_auth_pubkey_file sert a définir avec quelle clé se connecter mais sert-elle a definir avec quel utilisateur ? car je ne crois pas qu'on puisse indiquer a ssh2_exec et ssh2_connect.
 
Merci de votre aide.
 
Cordialement,

Reply

Marsh Posté le 26-02-2010 à 16:51:48   

Reply

Marsh Posté le 04-03-2010 à 07:12:40    

Moi pour faire ce que tu fais, je créer une clé SSH pour l'utilisateur apache que je mets dans son home, etc :)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed