Llame a sudo desde Jenkins

Llame a sudo desde Jenkins

Tengo una máquina de compilación que tiene un usuario abcque tiene acceso limitado a sudo. Cuando reviso el código fuente y ejecuto mi script de compilación, funciona bien. El script de compilación contiene sudollamadas para las cuales no dice "sudo: no hay tty presente y no se ha especificado ningún programa Askpass". Pero cuando hice lo mismo con Jenkins en una máquina de compilación agregada como esclava, muestra "sudo: no hay tty presente y no se ha especificado ningún programa Askpass".

Encontré una solución que dice comentar Default requirettyen el archivo /etc/sudoers. Pero no tengo acceso a este archivo.

¿Cómo puedo superar este problema?

Respuesta1

Falla porque sudoestá intentando solicitar la contraseña de root y no hay ningún pseudo-tty asignado.

Debe iniciar sesión como root o configurar las siguientes reglas en su /etc/sudoers (o:) sudo visudo:

# Members of the admin group may gain root privileges.
%admin  ALL=(ALL) NOPASSWD:ALL

Luego asegúrese de que su usuario de Jenkins pertenezca al admingrupo (o wheel).

Lo ideal (más seguro) sería limitar los privilegios de root solo a comandos específicos que se pueden especificar como%admin ALL=(ALL) NOPASSWD:/path/to/program

Respuesta2

Hay dos opciones: comentar la Defaults requirettyconfiguración de /etc/sudoers como mencionaste o usar el -targumento de asignación pseudo-tty ( ) para ssh.

Pruebe lo siguiente en su script jenkins:

ssh -t 127.0.0.1 "sudo command"

Aunque tendrá que tener sshclaves previamente compartidas configuradas y ejecutarlas una vez manualmente para agregar una entrada a los hosts conocidos, como alternativa agregue el -o StrictHostKeyChecking=noargumento to sshpara ignorar esto.

Respuesta3

Manera fácil de hacerlo
ingrese la descripción de la imagen aquí

$ sudo visudo
## Now add the below lines in your sudoers file :
jenkins ALL=(ALL) NOPASSWD: ALL

$service jenkins start

Respuesta4

Si está ejecutando comandos a través de ssh, debe marcar la opción "Ejecutar en pty". ingrese la descripción de la imagen aquí

información relacionada