Salut Céd! Désolé pour le délai...
Attention: > ssh host-distant "sudo bash -c '$(declare -f uname_id); uname_id'" ne fonctionnera que si la fonction ne contient pas d'apostrophe: $ test() { echo 'Salut les amis';} $ test Salut les amis $ ssh hotedistant "bash -c '$(declare -f test);test'" les: -c: ligne 3: erreur de syntaxe : fin de fichier prématurée Avec bash et ssh, on peut faire des trucs marrants: $ ssh -t hotedistant /bin/bash <<"eof" sudo bash -c 'echo "uname : $(uname -n)";echo "id : $(id -un)"' eof Est peut être une solution! (Ne pas oublier les guillemets autour de <<"eof")! Demo monitoring window11 ethernet issue: J'ai un client Window11 qui à un problème de connection étrange: De temps en temps, il perds la connection vers le routeur. Il ne peut plus pinguer le routeur, alors que le serveur qui est à coté et sur le même réseau, il peut le pinguer!? Je lui ai demandé de pinguer le routeur avec ``ping /t ip.du.routeur'' dans une fenetre ``cmd'' et de la laisser en arrière plan. Sur mon poste, j'ai tapé un truc du genre: $ exec {rti}<> <(:) $ exec {rto}<> <( exec stdbuf -i0 -o0 ssh -t -Jproxyssh root@routeur /bin/bash <&$rti 2>&1) J'ai donc 2 FD: $rti pour envoyer des ordres au routeur et $rto pour lire les réponses $ echo >&$rti 'stdbuf -o0 tcpdump -ani eth1 ether host 12:34:56:78:9a:bc' Je lance un tcpdump sur le routeur pour voire les trace de la machine en question, puis $ while ! read -sn 1 -t .002 _ ;do read -rt 1.2 -u $rto line && echo $line || { printf '\e[41;30m%(%c)T\n\e[0m'; play -q /usr/share/sounds/sound-icons/gummy-cat-2.wav{,,,} 2>/dev/null } done Cela m'affiche TOUTES les activités de la *machine* de et vers l'internet, ainsi que les ping (ICMP echo et ICMP reply)... Si une ligne met plus d'1.2 seconde à m'arriver, une ligne date et heure apparait en rouge et un son bizarre se fait entendre... Entre chaque ligne, si je presse une touche, la boucle s'arrête, NE PAS UTILISER Ctrl-C car cela interompra le ssh! Je peut alors copier-coller tranquillement le terminal, puis je peux relancer la dernière commande (une longue ligne) en tapant [Cursor-Up] et [Enter]. Les messages restent bufferisés par ssh et bash, ils apparaissent alors tous avant de continuer a attendre 1 message.. Par contre, pour stopper la command tcpdump, je dois me reconnecter et taper ``killall tcpdump''. Le Thu, Dec 01, 2022 at 03:25:03PM +0100, Cédric BRINER via gull a écrit : > j'ai finalement trouvé, du moins je crois: > > ssh host-distant "sudo bash -c '$(declare -f uname_id); uname_id'" > > C'est la classe totale ! > -- Félix Hauri - <fe...@f-hauri.ch> - http://www.f-hauri.ch _______________________________________________ gull mailing list gull@forum.linux-gull.ch https://forum.linux-gull.ch/mailman/listinfo/gull