2010-10-01 5 views
0

Je ne peux pas sembler exécuter la commande ssh de l'une des fonctions PHP comme exec, system, etc .. passthrune peut pas exécuter ssh de php

J'ai même essayé /bin/ssh mais pas de sortie est affichée

Des idées? Je peux confirmer que, en faisant « su - www-data », puis d'essayer des œuvres ssh, ce qui signifie que l'utilisateur apache a accès à ssh ..

Merci

Mise à jour: tout Désolé, il semble que ssh est en cours d'exécution ok, il est les commandes à distance qui ne sont pas en cours d'exécution. Exemple:

$remote_command = "/usr/bin/ssh -i /home/www-data/id_rsa [email protected] 'echo hi > /home/testuser/test'"; 
passthru($remote_command); 

Je vois le trafic sur le serveur distant, mais le nouveau fichier « test » n'est pas créé ..

+0

Pourriez-vous nous montrer du code que vous utilisez? En substance. appeler ssh via la ligne de commande devrait fonctionner, ce qui ne va vraiment pas dépend de ce que vous êtes tryning à faire et comment vous le faites ... – Wrikken

Répondre

1

Notez que les fonctions php exec capturer uniquement la sortie standard stdout, non la sortie d'erreur stderr. Vous devez rediriger stderr vers stdout lors de l'exécution de votre commande, c'est-à-dire passthru("ssh ... 2>&1");.

+0

Merci! Maintenant, je peux voir que j'ai un problème clé :) Rien à voir avec PHP ... – jtnire

+0

Désolé pour le retard dans l'acceptation de la réponse. Il a dit que je devais attendre 5 minutes – jtnire

Questions connexes