Ansible paramiko ssh atascado cuando escalar el comando de privilegios

Aug 20 2020

Tengo dispositivos sandvine basados ​​en freebsd.Necesito crear un libro de jugadas para fines de automatización múltiple, pero tengo un problema cuando necesito escalar mi privilegio, la única forma de escalar el privilegio es a través de este comando sv_enable sv_admin, funciona como el su -comando, cambia el indicador de >$a >#sudo doesn No funciona aquí, así que cuando ejecuté el libro de jugadas y cuando se trataba de este comando, sv_enable sv_adminel libro de jugadas se cuelga, cambié la conexión ssh predeterminada de Ansible a paramkio, pero sin suerte todavía enfrentando el mismo problema, agradezco su pronta atención a este asunto Y gracias por adelantado.

Mi libro de jugadas:

---
- hosts: device-01
  gather_facts: false
  remote_user: sv_admin
  connection: paramiko
  vars:
    ansible_ssh_private_key_file: /root/.ssh/m2q_id_rsa
    #ansible_ssh_pass: /root/.ssh/m2q_passphrase
  tasks:
    - name: Check Paramiko privilege escalation
      command: "{{ item }}"
      with_items:
        - id
        - pwd
        - 'sv_enable sv_admin'
        - id
      register: shell_output
    - debug: var=shell_output
    - debug:
        msg: hello

Respuestas

0xDeCaffedC0de Aug 20 2020 at 22:35

En mi opinión, ya has encontrado la respuesta:

  1. escale los privilegios haciendo lo que haya dicho, en este caso "sv_enable sv_admin".
  2. utilice "id", "whoami", "w", "who" o algo parecido para, con certeza, saber que cualquier privilegio incluso ha aumentado.
  3. utilice "passwd" en el EUID o UID (dependiendo de la situación: pero generalmente los números más bajos mejor / "más privilegios") para cambiar permanentemente la contraseña de inicio de sesión ...

Ahora nunca he usado Ansible, pero está basado en Python, por lo que la funcionalidad debería estar disponible para leer. Sugerencia: use "strace" y / o "ltrace" para averiguar qué sucede y / o cómo el programa traduce el comando "sv_enable sv_admin". Si hay una serie de setuid, setgid, seteuid, setegid, serreuid, etc ... entonces sudo también funcionaría, recuerda: man sudo. <--- Hay muchas opciones para descubrir este problema usando solo el pensamiento lógico.