Paramiko3
Si deseas ver la salida completa de los comandos de Ansible en la consola de Python, puedes hacerlo utilizando el método `readlines()` del objeto `stdout` devuelto por `exec_command()`. Aquí está el código modificado para mostrar la salida completa de los comandos:
```python
import paramiko
import os
# Especifica los detalles de la conexión SSH a la máquina remota
host = '192.168.1.100'
user = 'usuario'
password = 'contraseña'
# Crea una conexión SSH a la máquina remota
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(hostname=host, username=user, password=password)
# Ejecuta comandos en la máquina remota usando Ansible
comando_ping = 'ansible webservers -m ping -i hosts -u usuario -k -K'
comando_playbook = 'ansible-playbook tasks.yml -i hosts -u usuario -k -K'
stdin, stdout, stderr = ssh.exec_command(comando_ping, get_pty=True)
stdin.write(password + '\n')
output = stdout.readlines()
for line in output:
print(line)
stdin, stdout, stderr = ssh.exec_command(comando_playbook, get_pty=True)
stdin.write(password + '\n')
output = stdout.readlines()
for line in output:
print(line)
# Cierra la conexión SSH
ssh.close()
```
En este ejemplo, utilizamos el método `readlines()` para leer la salida completa de los comandos de Ansible. Luego, utilizamos un bucle for para imprimir cada línea de salida en la consola de Python.
Espero que esto te sea útil. ¡No dudes en preguntar si necesitas más ayuda!
Comentarios
Publicar un comentario