Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 29/08/2012, à 10:59

corgato

Script sh qui se connecte sur une machine distante

Bonjour,

je souhaiterais savoir si c'est possible et si oui comment smile pour me connecter sur un serveur distant pour exécuter des commandes ?

En gros j'ai 3 machines :

Machine A : contient le site web + les fichiers sh qui sont exécuter sur cette machine
Machine B : contient des serveurs clients
Machine C : contient des serveurs clients

Le but c'est de par exemple mettre à jour un serveur client sur la Machine C sachant que le script sh sera exécuté en PHP, depuis la machine A

Voilà par exemple une mise à jour a effectuer de la machine A vers la Machine C

Exécution du fichier depuis le site :

<?php
passthru("/bin/sh /var/www/modules/sh/maj.sh ".escapeshellarg('home')." ".escapeshellarg('client_13121')." >> /dev/null 2>&1 &");
#! /bin/bash

# ICI JE ME CONNECTE SUR LA MACHINE C POUR EXECUTER LE CODE SUIVANT DESSUS

echo -e "   "'\033[01;37m\]'"~~~~~~~~~~~~~~~~Mise à jour STEAM CSGO~~~~~~~~~~~~~~~"
cd /$1;
STEAMEXE=steamcmd ./steam.sh;
login TEST TEST;
force_install_dir /$1/$2;
app_update 740;
echo -e "   "'\E[01;37m'"~~~~~~~~~~~~~~~~Fin de Mise à jour STEAM CSGO~~~~~~~~~~~~~~~"

Merci !

Hors ligne

#2 Le 29/08/2012, à 14:38

Hoper

Re : Script sh qui se connecte sur une machine distante

J'avoue que je ne comprend pas trop l'expression "serveur client".
Mais en tout cas, lancer l'execution de script depuis une machine vers une autre machine ne pose aucun problème.

Depuis une machine, essaye ça :

ssh login@autre_machine "ls /tmp"

La commande "ls /tmp" sera exécutée sur l'autre machine.
Pour que ce soit vraiment automatique et ne pas à avoir à entrer de mot de passe, tu peut utiliser une authentification par clef. Après, libre à toi d'executer des commandes shell, ou des scripts complets, ou n'importe quoi d'autre, et d'automatiser ces lancements par n'importe quel moyen.


Mes tutos et coups de gueule :
http://hoper.dnsalias.net/atdc/
Mastodon: @hoper@framapiaf.org

Hors ligne

#3 Le 29/08/2012, à 15:16

corgato

Re : Script sh qui se connecte sur une machine distante

Je ne comprends pas avec cette ligne ou mettre le mot de passe pour me connecter à la machine ?
Sinon j'ai déjà des clefs RSA sur toutes les machines, mais je sais pas du tout comment on pourrait faire ça

Hors ligne

#4 Le 29/08/2012, à 18:55

Bousky

Re : Script sh qui se connecte sur une machine distante

Tes explications sont plus que confuses… Tu veux exécuter du PHP sur le client depuis le serveur ? Ce n'est pas possible.

Ce que t'as donné Hoper est une commande shell…

Ton script est en bash et tu le lance avec sh ! Ce sont deux languages différents (pas de beaucoup, mais quand-même). Laisse le système choisir en lançant le script comme nimporte quel exécutable.

Dernière modification par Bousky (Le 29/08/2012, à 18:59)


Linux qui plante complètement ? Plus rien ne répond ? On peut toujours le redémarrer proprement :
Alt + SysRq + REISUB (Retourne En Islande Sur Un Bateau !)

Hors ligne

#5 Le 29/08/2012, à 19:09

corgato

Re : Script sh qui se connecte sur une machine distante

Non :
je voudrais juste lancer en PHP un script bash qui va exécuter le contenu sur une machine distante.

Donc ce que je cherche a faire c'est de faire une connexion ssh sur la machine distante depuis le fichier sh.
Avec la commande shell donné on ne doit pas mettre de mot de passe ?? C'est ça que je ne comprends pas dans cette commande...

Hors ligne

#6 Le 29/08/2012, à 19:54

Bousky

Re : Script sh qui se connecte sur une machine distante

Le script doit être sur la machine sur laquelle il doit être exécuté. Ensuite tu fais :

<?php
system ('ssh user@host script.sh arguments redirections');
?>

ssh ne demande pas de mot de passe si les clefs sont correctement configurées.

Dernière modification par Bousky (Le 29/08/2012, à 19:55)


Linux qui plante complètement ? Plus rien ne répond ? On peut toujours le redémarrer proprement :
Alt + SysRq + REISUB (Retourne En Islande Sur Un Bateau !)

Hors ligne

#7 Le 30/08/2012, à 08:48

Hoper

Re : Script sh qui se connecte sur une machine distante

mais avant de le faire via php, fait le déjà à la main...


Mes tutos et coups de gueule :
http://hoper.dnsalias.net/atdc/
Mastodon: @hoper@framapiaf.org

Hors ligne