Commande ssh via php
Bonjour,
Je suis un jeune étudiant en programmation. Pour mon stage il faut que j'arrive a passer une commande via la fonction ssh2 de PHP. J'ai essayé un code et je reçois une page vide.
Toute aide me serait précieuse.
Mon code est le suivant :
Je suis un jeune étudiant en programmation. Pour mon stage il faut que j'arrive a passer une commande via la fonction ssh2 de PHP. J'ai essayé un code et je reçois une page vide.
Toute aide me serait précieuse.
Mon code est le suivant :
<?php
$host= '122.65.435.55';
$user= 'root';
$port= '22';
$password= 'root';
$con= 'null'
function ssh($host, $user, $password, $command)
{
if (!function_exists("ssh2_connect")) die("function ssh2_connect doesn't exist");
if(!($con = ssh2_connect($host, 22))){
echo "échec connexion\n";
} else {
if(!ssh2_auth_password($con, $user, $password)) {
echo "échec authentification\n";
} else {
// execute a command
if (!($stream = ssh2_exec($con, $command ))) {
echo "échec de l'exécution de la commande\n";
} else {
// collect returning data from command
stream_set_blocking($stream, true);
$data = "";
while ($buf = fread($stream,4096)) {
$data .= $buf;
}
fclose($stream);
return $data;
}
}
}
}
$command = 'php -m |grep ssh2';
$ret = ssh($host, $user, $password, $command);
echo '<pre>' . $ret . '</pre>';
?>
A voir également:
- Commande ssh via php
- Invite de commande - Guide
- Commande terminal mac - Guide
- Ssh download - Télécharger - Divers Web & Internet
- Easy php - Télécharger - Divers Web & Internet
- Commande dism - Guide
1 réponse
Et que donne ton script quand tu l'exécutes ?
Sinon ce serait pas mal que ta fonction ssh() prennent en paramètre le port, même si ça ne résoudra pas le problème.
Par ailleurs, as-tu testé de te connecter en ssh à ton serveur.
Ah et sinon quelques points importants :
- en IPv4 les 4 nombres sont compris entre 0 et 255
- heureusement que tu t'es planté dans l'adresse IP que tu donnes, sinon n'importe qui aurait pu se connecter en ssh sur cette machine et faire n'importe quoi dessus, donc veille à anonymiser les éléments sensibles quand tu postes sur un forum.
- n'utilise jamais de mots de passe triviaux
- ne mets jamais de mot de passe en dur et en clair dans ton code, lis-le à partir d'un fichier tiers avec des droits d'accès restreints, surtout qu'en ssh, il existe d'autre moyen de se connecter (les clés ssh par exemple).
http://prendreuncafe.com/blog/post/2005/08/29/262-installer-sa-cle-ssh-sur-un-serveur-distant
Bonne chance
Sinon ce serait pas mal que ta fonction ssh() prennent en paramètre le port, même si ça ne résoudra pas le problème.
Par ailleurs, as-tu testé de te connecter en ssh à ton serveur.
Ah et sinon quelques points importants :
- en IPv4 les 4 nombres sont compris entre 0 et 255
- heureusement que tu t'es planté dans l'adresse IP que tu donnes, sinon n'importe qui aurait pu se connecter en ssh sur cette machine et faire n'importe quoi dessus, donc veille à anonymiser les éléments sensibles quand tu postes sur un forum.
- n'utilise jamais de mots de passe triviaux
- ne mets jamais de mot de passe en dur et en clair dans ton code, lis-le à partir d'un fichier tiers avec des droits d'accès restreints, surtout qu'en ssh, il existe d'autre moyen de se connecter (les clés ssh par exemple).
http://prendreuncafe.com/blog/post/2005/08/29/262-installer-sa-cle-ssh-sur-un-serveur-distant
Bonne chance