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 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 smile

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! smile

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 : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde 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 : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde 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 : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde 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