#1 Le 27/08/2014, à 21:02
- Falco26
[Résolu] Executer un script local avec ssh
Bonjour à tous!
Je viens à vous pour un petit problème. Je voudrais éxécuter un script en local sur une machine distante en ssh. Pour le moment, je n'essai que d'afficher du texte et je voudrais qu'il s'affiche dans le terminal distant.
J'ai bien sur parcouru beaucoup de forum et testé plusieurs solutions proposée, mais mon texte s'affiche toujours en local... je viens donc demander votre aide
ssh $user@$server bash < ~/script.sh
shell=/bin/sh
cat script.sh | ssh $user@$server $shell
et d'autres... rien ne fait. Mon script s'execute toujours en local
merci de votre aide!
Dernière modification par Falco26 (Le 28/08/2014, à 22:17)
Hors ligne
#2 Le 27/08/2014, à 21:07
- jplemoine
Re : [Résolu] Executer un script local avec ssh
Ce n'est pas clair.. Peux-tu essayer d'expliquer différemment en utilisant PC1 et PC2 ?
PC1 étant la machine face à toi et PC2 la machine distante..
Dernière modification par jplemoine (Le 27/08/2014, à 21:08)
Membre de l'ALDIL (Association Lyonnaise pour le Développement de l'Informatique Libre)
- En pro, après 20 ans de développement, administrateur Linux / Unix depuis Avril 2019.
- En privé, sous Ubuntu-Xubuntu depuis 2009.
Hors ligne
#3 Le 27/08/2014, à 21:15
- Falco26
Re : [Résolu] Executer un script local avec ssh
Merci de ta réponse
Je désire éxécuter sur PC2 un script se trouvant sur PC1
Ce script ce limite pour le moment à afficher un texte. J'aimerais que ce texte s'affiche dans le terminal de PC2
Hors ligne
#4 Le 27/08/2014, à 21:26
- jplemoine
Re : [Résolu] Executer un script local avec ssh
je ne pense pas que tu puisse faire ça...
sauf erreur de ma part, il faut que tu transfères le script sur PC2 (scp le permet) puis que tu exécutes le script via ssh.
Membre de l'ALDIL (Association Lyonnaise pour le Développement de l'Informatique Libre)
- En pro, après 20 ans de développement, administrateur Linux / Unix depuis Avril 2019.
- En privé, sous Ubuntu-Xubuntu depuis 2009.
Hors ligne
#5 Le 27/08/2014, à 21:31
- Falco26
Re : [Résolu] Executer un script local avec ssh
Ah dommage...
Je te remercie de ton aide!
Hors ligne
#6 Le 28/08/2014, à 05:09
- nesthib
Re : [Résolu] Executer un script local avec ssh
Peux-tu expliquer ce que tu cherches à faire (pourquoi vouloir afficher un texte sur un terminal distant ?)
Il est possible d'envoyer du texte ou le retour d'une commande sur un terminal (ou plutôt pseudo-terminal) donné. La première chose est de déterminer l'identifiant du terminal disant avec la commande who.
Tu verras des lignes du genre :
utilisateur pts/0 2014-08-28 00:00 (hôte connecté)
Ici, l'identifiant est pts/0
Tu peux ensuite envoyer du texte arbitraire en faisant :
ssh utilisateur@hôte_distant 'echo "bonjour" >/dev/pts/0'
Tu peux également envoyer des commande (ou le contenu d'un script) et les faire exécuter par n'importe quel programme distant :
echo 'echo $(whoami) a lancé une commande le $(date)' | ssh utilisateur@hôte_distant 'bash >/dev/pts/0'
echo 'print((1+4)/2)' | ssh utilisateur@hôte_distant "python >/dev/pts/0"
cat script.sh | ssh utilisateur@hôte_distant "bash >/dev/pts/0"
Attention, envoyer comme ça du texte arbitraire vers un terminal risque d'interférer avec l'affichage si le terminal est utilisé pour d'autres commandes (tout sera mélangé). Note également que tu ne peux accéder au terminal que si tu as les droits de l'utilisateur qui le possède.
GUL Bordeaux : Giroll – Services libres : TdCT.org
Hide in your shell, scripts & astuces : applications dans un tunnel – smart wget – trouver des pdf – install. auto de paquets – sauvegarde auto – ♥ awk
⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn
Hors ligne
#7 Le 28/08/2014, à 07:53
- Sciensous
Re : [Résolu] Executer un script local avec ssh
et pourquoi pas screen ? (qu'en pense netshib ?)
tu as le même terminal sur PC1 et PC2 et ce qui s'affiche sur PC1 s'affiche aussi sur PC2.
Mais il s'agit d'affichage uniquement pas d'éxecution de script (même s'il est possible de "récupérer" le terminale par PC2)
antiX 19 et 21 et Ubuntu 20.04 et 22.04
( sous LXDE et gnome-shell )
Hors ligne
#8 Le 28/08/2014, à 08:46
- Falco26
Re : [Résolu] Executer un script local avec ssh
Merci de vos réponses.
Nickel nesthib ça marche. Je voulais simplement envoyer du texte au début pour tester. Mon but au final et de pouvoir éxécuter une aplication java swing sur la machine distante PC2. Est ce que c'est possible ça?
Hors ligne
#9 Le 28/08/2014, à 12:20
- nesthib
Re : [Résolu] Executer un script local avec ssh
Aucune idée, c'est censé faire quoi ton application ? En tout cas je pense que c'est une mauvaise pratique d'écrire comme ça sur le terminal sans passer par le shell qu'il contient.
En ce qui concerne screen, ça fonctionne bien pour partager une session, mais c'est une autre approche (que je valide, c'est vraiment très pratique !).
GUL Bordeaux : Giroll – Services libres : TdCT.org
Hide in your shell, scripts & astuces : applications dans un tunnel – smart wget – trouver des pdf – install. auto de paquets – sauvegarde auto – ♥ awk
⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn
Hors ligne
#10 Le 28/08/2014, à 17:40
- Falco26
Re : [Résolu] Executer un script local avec ssh
Elle servirait à alimenter une BDD se trouvant sur ma machine distante. Et pour des raisons pratiques, ça m'ennui de rappatrier cette BDD sur mon ordinateur local...
D'accord je vais également regarder du coté de screen, ça peu être interessant.
Hors ligne
#11 Le 28/08/2014, à 21:45
- nesthib
Re : [Résolu] Executer un script local avec ssh
Ta BDD elle est accessible par le réseau ? (Quel SGBD utilises-tu ?)
Le plus simple serait peut être de faire un tunnel ssh entre les deux machines… Sinon, selon le type de BDD tu peux aussi monter localement la partie du système de fichier distant qui t'intéresse.
Quoi qu'il en soit, l'exécution de commandes à distance est une chose, mais je ne vois pas l'intérêt de déporter l'affichage sur le terminal distant…
GUL Bordeaux : Giroll – Services libres : TdCT.org
Hide in your shell, scripts & astuces : applications dans un tunnel – smart wget – trouver des pdf – install. auto de paquets – sauvegarde auto – ♥ awk
⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn
Hors ligne
#12 Le 28/08/2014, à 21:58
- Falco26
Re : [Résolu] Executer un script local avec ssh
J'utilise mysql. Est ce qu'il conviendrait?
En fait il me faudrait un message informatif sur la machine distante indiquant les mises à jour. Il y a des personnes qui travaillent directement sur cette machine. Mais je vais revoir un peu ça avec mes collègues. Il y a en en effet des choses auxquelles je n'avais pas pensé..
En attendant j'indique résolu pour ce post. Je te remercie de toute ton aide.
Dernière modification par Falco26 (Le 28/08/2014, à 22:17)
Hors ligne