Création
d'entreprise
Posez votre question Signaler

Executer commande ssh dans une page php [Résolu]

marie - Dernière réponse le 18 juin 2008 à 15:36
bonjour,
je voudrais executer une commande ssh sur un serveur distant
dans un script php,
j ai mes cles qui me permette de me connecter en ssh sans mot de passe
et tout cela fonctionne correctement,
mais comment faire pour executer a partir d une page php,
sachant qu je suis en utilisateur apache ?
le ssh2 serait une solution, mais je ne peux pas recompiler le php
car le serveur et en production et il n est pas possible de l'arreter
le temps de la compilation
merci
Lire la suite 

Executer commande ssh dans une page php »

14 réponses
Réponse
+2
moins plus
Moi j'ai trouvé deux solutions : soit on utilise la biblio SSH que l'on ajoute à PHP, et on génère aussi les clefs. ce qui à l'avantage de se connecter dans mot de passe. Et ensuite on fait une connexion SSH directe dans le code PHP.

Ou sinon on exécute un script qui contient la commande ssh user@machine toujours avec des clefs générées pour éviter l'utilisation d'un mot de passe.

Ajouter un commentaire
Réponse
+0
moins plus
La fonction PHP "exec" te permet de lancer une commande, et en paramètre tu lui passes la commande à exécuter:
exec($sCmde);

La commande que tu passes en paramètre à cette fonction, tu la construis:

$sCmdeDist = "rm /tmp/*"; // commande distante, i.e. commande qui va s'exécuter sur ta machine distante, identifiée par son nom ou son adresse IP, que tu stockes dans la constante HOST, définie dans un fichier de conf par exemple; ici, la commande que tu vas lancer sur HOST, va supprimer tous les fichiers qui se trouvent dans le répertoire /tmp de HOST

$sCmde = "ssh ".HOST." ".$sCmdeDist;

Essaye donc cela.
marie - 18 oct. 2006 à 17:47
le safe mode est a off,

shell_exect en fontionne pas,
j ai essayer system et il me renvoie 255 dans le deuxieme
parametre,

je vais essayer de voir ce que ca veut dire ...
marieKnightDogg - 19 oct. 2006 à 10:03
bon,

pour finir j ai genere les cles en tant que apache sur mon serveur,
je les ai mis au bon endroit sur le serveur distant,
et la lorsque j'appel ma page php, ca fonctionne,

mes commandes sont bien executer,

merci pour votre aide
boubacach - 3 déc. 2007 à 10:38
Bonjour, serait-il possible que vous m'indiquiez comment générer un couple clé publique/privée avec l'utilisateur apache. Je n'arrive pas a me connecter avec cet utilisateur. Il me demande un mot de passe alors que je ne lui en ait pas donné ? y a t-il un mot de passe par défaut à l'intallation ?

merci
Ajouter un commentaire
Réponse
+0
moins plus
Bonjour, j'aimerais créer un panel admin pour lancer et couper un serveur de jeu et ceci m'intéresse vraiment beaucoup
j'ai été très etonné car je recherche cela depuis des mois .

Si une âme bienveillante qui s'y connais en php et qui voit comment m'aider pourrais me contacter sur msn

à cette adresse kusomio@hotmail.fr ce serait vraiment très gentil de m'aider car je recherche cela depuis longtemps

Merci de bien vouloir m'aider
Ajouter un commentaire
Réponse
+0
moins plus
Moi aussi, j'ai besoin de cela.
Ajouter un commentaire
Réponse
+0
moins plus
UP ^^ on est 3 a vouloir savoir exactement comment faire !!!
Donc du coups pas de message privée !! Le principe du forum est qu'il reste des traces pour les pauvres ames perdues comme nous...

Citation de marie :

pour finir j ai genere les cles en tant que apache sur mon serveur,
je les ai mis au bon endroit sur le serveur distant

Le principe de la génération de clef c'est pour ne pas avoir a rentrer de passe pour l'utilisateur apache (ou www-data) ?
Niveau sécurité c'est pas top non ???

(PS: j'essayerai de upper le sujet assez souvent en esperant que qqn ai la réponse !!)
Ajouter un commentaire
Réponse
+0
moins plus
J'avais réussi à faire ca justement pour un serveur de jeu, mais j'avais déployé comme je n'avais pas pris de renseignement surles clefs la librairie ssh2 pour php, qui ensuite m'avait permis vie un petit formulaire d'exécuter des commandes en ssh sur un serveur distant.

Mais bon installer la librairie ssh c'est pas de tout repos et il faut que ce soit PHP5 qui sot installé au moins.

Loup.
Ajouter un commentaire
Réponse
+0
moins plus
Je veux inserer une commende dans une page2 pour afficher une autre page1 distant.
Exemple:
page1 = http/www.site1.com/page1.php
page2 = pahe2.php
Ajouter un commentaire
Ce document intitulé « executer commande ssh dans une page php » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?