SSH PHP
- Accueil
- Forum
- Programmation
- PHP
- SSH PHP
Rudelle65 Le 31 octobre 2016 à 18:55 (Édité le 25 janvier 2019 à 17:52)
je voudrais créer un système comme les hébergeur du style mtxserv ou il y a un bouton pour démarré le serveur l’arrêter le redémarrer le mettre a jours en ssh je connais les commande a exécuter mes je nais aucun code php pour exécuter un commande ssh par une interface web.
:):):)
TheFlameflo Le 1 novembre 2016 à 01:25 (Édité le 1 janvier 1970 à 01:00)
Je pense que ceci peut te convenir :
SSH2
Pour faire simple, ça regroupe tout ce que tu as besoin pour exécuter des commandes SHELL avec PHP.
Sur cette page, tu retrouveras plusieurs fonctions plein utiles :
ssh2_connect, ssh2_auth_password et ssh2_exec.
Pour faire simple, tu dois commencer par te connecter au serveur.
Tu utilises donc ssh2_connect, tu renseignes l'host et le port.
Il y a d'autres paramètres, mais je te conseille de te rendre sur la doc pour en savoir plus ! 😀
Après, tu dois t'identifier avec ssh2_auth_password, tu renseignes la variable dans laquelle tu as stocké la connexion, ton username et ton mot de passe.
Finalement, tu exécutes les commandes avec ssh2_exec en renseignant la variable obtenue lors de ta connexion avec ssh2_connect et la commande.
En gros, c'est ça les bases, mais je te conseille d'aller voir la doc, c'est le mieux ! 😉
Bonne chance !
Rudelle65 Le 1 novembre 2016 à 05:21 (Édité le 1 janvier 1970 à 01:00)
j'ai coder un un petit système qui marche très bien j'en est fait deux mes le premier ne fonctionner pas bien du coup j'ai tout recommencer a zéro et voila ce que sa donne une fois fini:
<?php
$domain = '127.0.0.1';
$user = 'root';
$pass = '';
header('Content-Encoding: none;');
set_time_limit(0);
$connection = ssh2_connect($domain, 22);
if(ssh2_auth_password($connection, $user, $pass)){
$h = ssh2_exec($connection, 'mas commande ssh');
$out = ssh2_fetch_stream($h, SSH2_STREAM_STDIO);
if (ob_get_level() == 0)
ob_start();
while (!feof($out)) {
$line = fgets($out);
echo $line.'<br />';
echo str_pad('', 4096);
ob_flush();
flush();
sleep(1);
}
fclose($out);
ob_end_flush();
}
?>
TheFlameflo Le 1 novembre 2016 à 21:11 (Édité le 1 janvier 1970 à 01:00)