On Mon, 19 Dec 2016 13:12:01 +0100 Daniel Caillibaud <m...@lairdutemps.org> wrote:
> Le 19/12/16 à 12:57, bernard schoenacker > <bernard.schoenac...@free.fr> a écrit : > BS> je souhaite automatiser la connection sudo et je pense > BS> employer echo et read : > > Pas compris > > BS> exemple de base : > BS> > BS> sudo apt-get update --fix-missing > cette commande lance apt si le user qui lance le script est dans > sudoers (sinon demande le pass) > > BS> echo toto > affiche "toto" > > BS> read toto > attend une saisie utilisateur qui sera affectée à la variable toto > > BS> est ce correct ? > > Je sais pas ce que tu veux faire, mais si c'est un script qui se > connecte en ssh pour lancer un update ou upgrade, il vaut mieux > ajouter la clé ssh du user qui lancera le script directement au root > de la machine sur laquelle le lancer, éventuellement avec un shell de > ton cru pour ne lancer que les commandes auquel il a droit. > > Par ex, dans le /root/.ssh/authorized_keys de la machine concernée > command="/root/bin/mon-shell-a-moi.sh",no-port-forwarding,from="ip > autorisées" ssh-rsa laClé > > et dans /root/bin/mon-shell-a-moi.sh un truc du genre > > #!/bin/bash > > case "$SSH_ORIGINAL_COMMAND" in > ping) echo "pong";; > apt-update) apt-get update --fix-missing;; > > # autres commandes autorisées > … > > # par défaut un message (ici il donne la commande mais c'est pas > # obligatoire évidemment) > *) echo "Commande « $SSH_ORIGINAL_COMMAND » non autorisée" >&2; > exit 1;; esac > > et tu testes avec `ssh root@tamachine ping` qui devrait afficher pong. > > -- > Daniel > > L'argent a rendu l'homme esclave et > personne ne fera de l'argent son esclave. > Gilles Olive > bonjour, après quelques tatônements : cat>script-connect.sh<<EOF #!/bin/bash # script-connect.sh # set chmod 644 sudo apt-get update --fix-missing read toto echo $ EOF merci pour tout slt bernard -- bernard schoenacker <bernard.schoenac...@free.fr>