Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- $hostname = '192.168.0.150'; // adresse de la machine distante (adresse ip ou nom de domaine)
- $known_host = '7784BB94B3A68D0267C9885E3B3D66CD'; // fingerprint de la machine distante
- $username = 'tyrtamos'; // nom de l'utilisateur pour la machine distante
- $password = 'dF72yPPic89'; // mot de passe de l'utilisateur
- $commande = 'ls -l /'; // commande shell à envoyer à la machine cible (ex: listage de "/")
- // Etablissement de la connexion ssh2, port 22
- if (false === $connection = ssh2_connect($hostname, 22)) {
- echo 'pas de connexion<br />';
- exit(); // sortie si erreur
- }
- else {
- echo 'connexion établie<br />';
- }
- // Vérification du fingerprint
- $fingerprint = ssh2_fingerprint($connection, SSH2_FINGERPRINT_MD5 | SSH2_FINGERPRINT_HEX);
- if ($fingerprint != $known_host) {
- echo "La clé hôte ne correspond pas !<br />";
- echo "clé renvoyée: ".$fingerprint.'<br />';
- exit(); // sortie si erreur
- }
- else {
- echo "fingerprint conforme <br />";
- }
- //authentification utilisateur
- if (false === ssh2_auth_password($connection, $username, $password)) {
- echo 'Echec identification<br />';
- exit(); // sortie si erreur
- }
- else {
- echo 'Identification réussie !<br />';
- }
- //exécution command shell sur la machine destinataire
- if (false === $stream = ssh2_exec($connection, $commande)) {
- echo "erreur d'exécution commande shell<br />";
- }
- // sortie du résultat quand il y en a un
- stream_set_blocking($stream, true);
- $output = '';
- while($ligne = fgets($stream)) {
- $output = $output . $ligne . '<br />';
- }
- echo $output;
- // Sortie de l'erreur quand il y en a une
- $stderr = ssh2_fetch_stream($stream, SSH2_STREAM_STDERR);
- stream_set_blocking($stderr, true);
- $output = '';
- while($ligne = fgets($stderr)) {
- $output = $output . $ligne . '<br />';
- }
- echo $output;
- fclose($stderr);
- fclose($stream);
- ?>
Add Comment
Please, Sign In to add comment