Me pregunto si hay una manera de ejecutar un script / comandos desde la máquina local sin hacer modificaciones como root en la máquina remota.
Algunos antecedentes
Estoy tratando de configurar algunas tareas a través de Capistrano y requiero sudoacceso. Hay más de 30 servidores y para mí actualizar manualmente /etc/sudoersserá doloroso, así que me preguntaba si hay un método para actualizar este archivo de forma remota.

fabric.contrib.files.sedmétodo.Respuestas:
Puede ejecutar scripts locales de forma remota ejecutando
bashen el sistema remoto y alimentando su script$ ssh user@host 'bash -s' < script.shEditar
Para ejecutar comandos que requieren el uso
sudoen una máquina remota, use lassh's-topción y pase los comandos assh. La-topción asigna un psuedo tty y permite la interacción del usuario con los comandos ejecutadosssh, como ingresar una contraseña parasudosedSe recomienda modificar un archivo usando este método sobre una redirección>porque la redirección de shell no permite escribir archivos cuando se usasudo. Además, todas las variables en elsedcomando deben escaparse cuando se pasan assh.Para automatizar todo:
fuente
/etc/sudoersarchivo debido a permisos de root, fallará.sudocontraseña que, por lo que entiendo, está configurada/etc/sudoerssudoderechos en estas máquinas, entonces para modificar/etc/sudoerstendrá que iniciar sesión a través de ssh comoroot. Entonces el comando seríassh root@host -t 'sed -i "\$a text to insert" /path/to/file'El
teecomando me pareció útil para evitar la limitación de sudo en la redirección de archivos. El uso de sed resultó frustrante debido a los requisitos de escape de caracteres.Este es el comando que utilicé para agregar de forma remota los hosts de todas las máquinas de mi clúster a / etc / hosts:
El resultado para cada iteración se ve así:
Esta respuesta SU fue fundamental en la construcción de mi solución final: https://superuser.com/a/1026359/587485
fuente
Si necesita ejecutar múltiples comandos o redireccionamientos, debe usar la siguiente sintaxis:
fuente
Debería tener ya algún tipo de acceso a nivel raíz, ya sea a través de passwd de raíz directa o mediante la configuración de la regla de sudo de ID de usuario antes de intentar modificar el archivo sudoers.
fuente