Re: ssh -> sudo

felix via gull <gull-04vmY7CpswVinyhjFObuvR+/[email protected]>
Newsgroups gmane.org.user-groups.gull.general
Message-ID <[email protected]>
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  -  <[email protected]>  -  http://www.f-hauri.ch
_______________________________________________
gull mailing list
[email protected]
https://forum.linux-gull.ch/mailman/listinfo/gull
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.