Je souhaite automatiser les actions de script racine sur mon serveur Fedora distant via SSH sans avoir à installer les scripts sur le serveur. Pour ce faire, j'essaie d'utiliser la notation de script en ligne de Bash. Cela fonctionne bien dans Ubuntu, mais je reçois des erreurs étranges sur Fedora.Exécution de scripts racine distants sur Fedora
par exemple.
#!/bin/bash
ssh -t [email protected] <<EOI
su -
ls /root
exit
exit
EOI
Cela me donne la sortie:
standard in must be a tty
ls: cannot open directory /root: Permission denied
J'ai aussi essayé:
#!/bin/bash
ssh -t [email protected] <<EOI
sudo ls /root
exit
EOI
mais cela me donne:
sudo: no tty present and no askpass program specified
Si je ssh manuellement et exécutez ces commandes, ils fonctionnent bien puisque myuser est dans le fichier sudoers. J'ai googlé ces erreurs et j'ai essayé quelques corrections, mais rien n'a fonctionné jusqu'ici. Comment résoudre ça?
J'ai déjà essayé le truc -tt. Ça ne marche pas. Cela m'incite à être invité pour mon mot de passe, mais mon mot de passe est en clair. Même si je le saisis, rien ne se passe lorsque j'appuie sur Entrée. – Cerin
Ouais, je viens de me rendre compte que cela ne fonctionnait que pour moi depuis que j'avais récemment fait un sudo sur la case cible, donc je n'ai pas eu besoin de taper le mot de passe. – waltwood
Définir mon utilisateur sur nopasswd dans sudoers a fait l'affaire. Ma seule préoccupation concerne les implications possibles sur la sécurité. – Cerin