Eu tenho este manual:
- name: push ssh key for all lxc
hosts: proxmox_host
vars:
lxc_cts:
- 100
- 102
- 106
- 107
- 108
- 109
- 111
- 112
- 113
- 114
tasks:
- name: check ssh
command: pct exec {{ item }} -- rpm -q openssh-server
register: ssh_check
ignore_errors: true
loop: '{{ lxc_cts }}'
- name: SSH status
debug:
var: ssh_check
- name: install openssh if not installed
command: pct exec {{ item }} -- dnf install -y openssh-server
when: ssh_check.results[ansible_loop.index0].rc != 0
loop: '{{ lxc_cts }}'
- name: enable sshd
command: pct exec {{ item }} -- dnf enable --now sshd
loop: '{{ lxc_cts }}'
- name: copy key
command: pct push {{ item }} /root/.ssh/id_rsa.pub /root/.ssh/authorized_keys
delegate_to: proxmox_host
loop: '{{ lxc_cts }}'
- name: perms for dir
command: pct exec {{ item }} -- chmod 700 /root/.ssh
loop: '{{ lxc_cts }}'
- name: perms for file
command: pct exec {{ item }} -- chmod 600 /root/.ssh/authorized_keys
loop: '{{ lxc_cts}}'
- name: (debug) SSH is already installed!
debug:
msg: 'SSH is already installed on CT {{ item }}!'
when: ssh_check.results|length > item|int and ssh_check.results[item|int].rc != 0
with_items: '{{ lxc_cts }}'
Eu tentei todas as sugestões de IA, li alguns documentos, mas ainda não consigo entender o erro nos logs
2025-01-09 21:09:12,656 p=3537536 u=root n=ansible | fatal: [proxmox_host]: FALHOU! => {"msg": "A verificação condicional 'ssh_check.results[ansible_loop.index0].rc != 0' falhou. O erro foi: erro ao avaliar condicional (ssh_check.results[ansible_loop.index0].rc != 0): o objeto da lista não tem elemento AnsibleUndefined(hint=None, obj=missing, name='ansible_loop'). o objeto da lista não tem elemento AnsibleUndefined(hint=None, obj=missing, name='ansible_loop')\n\nO erro parece estar em '/root/ansible/keypush_with_check.yml': linha 26, coluna 7, mas pode\nestar em outro lugar no arquivo, dependendo do problema exato de sintaxe.\n\nA linha ofensiva parece ser:\n\n\n - name: install openssh if not installed\n ^ here\n"}
Acho que é um erro lógico, mas a IA não consegue explicar e consertar, então talvez alguém aqui possa me ajudar?