Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

simplification des connexions ssh

2 réponses
Avatar
Thomas
bonjour :-)


est il possible de simplifier ce script en sorte qu'il y ait moins de
connexions ssh ?
http://dl.free.fr/r0HdYgI1g

je demande ça parce que j'ai une validation à faire à chaque connexion

l'idéal ça serait qu'il y ait une seule connexion par ordi, et qu'on
fasse tout ce qu'on a à faire sur l'ordi d'une seule traite

--
Téléassistance / Télémaintenance
http://www.portparallele.com/ThomasDECONTES/

2 réponses

Avatar
Bastien Durel
Le Sun, 23 Aug 2009 15:56:22 +0200, Thomas a écrit :

bonjour :-)


est il possible de simplifier ce script en sorte qu'il y ait moins de
connexions ssh ?
http://dl.free.fr/r0HdYgI1g

je demande ça parce que j'ai une validation à faire à chaque connexion

l'idéal ça serait qu'il y ait une seule connexion par ordi, et qu'on
fasse tout ce qu'on a à faire sur l'ordi d'une seule traite


Bonjour,

Tu peux te passer du mkdir initial avec un truc comme :
rsync -azv --partial --progress $DossierParent/a-tous/Administration-
ordinateur $DEST:~/

sinon, une solution à base de clef(s) mise(s) dans un ssh-agent devrait
permettre une baisse des interactions

--
Bastien Durel
Avatar
Cyrille Lefevre
Thomas a écrit :
bonjour :-)


est il possible de simplifier ce script en sorte qu'il y ait moins de
connexions ssh ?
http://dl.free.fr/r0HdYgI1g

je demande ça parce que j'ai une validation à faire à chaque conn exion

l'idéal ça serait qu'il y ait une seule connexion par ordi, et qu'o n
fasse tout ce qu'on a à faire sur l'ordi d'une seule traite





Bonjour,

google : ssh controlmaster

version simplifié :

# on ferme les connections ouvertes à la sortie du script
trap 'for host in $hosts; do ssh -O ControlPath=$socket -O exit $host;
done' EXIT

# la socket de control
socket=~/.ssh/ssh-%r@%h-%p-$$

conseil, ce qui suit dans une fonction :

# déjà ouvert ?
ssh -O ControlPath=$socket -O check
if (( $? == 255 )); then
# non, on l'ouvre
ssh -afnNqx -O ControlPath=$socket -o ControlMaster=auto
# et on la sauvegarde
hosts="$hosts "
# ouvert ?
ssh -O ControlPath=$socket -O check
# il y a un pb, on sort ou passe à la machine suivante
(( $? == 255 )) && message d'erreur
fi

jusqu'ici...

# une connexion ssh
ssh -O ControlPath=$socket command arg...
# un scp
scp -O ControlPath=$socket file... :...
# un rsync
RSYNC_RSH='ssh -O ControlPath=$socket' rsync ...
# etc.
...

Cordialement,

Cyrille Lefevre.
--
mailto:Cyrille.Lefevre-news%
supprimer "%nospam% et ".invalid" pour me repondre.