在有趣的剧本中创建新的SSH连接

时间:2019-05-19 16:52:04

标签: ansible

我需要在ansible剧本中实现安全退出功能。最初将某些主机添加到iptables进行ssh访问时,我想确保当用户输入错误时,还原了iptables配置的先前版本。我已经使用“ at”模块实现了此功能,其方式是在5分钟的窗口中安排了还原命令以回滚更改,但是我需要检查一下是否建立了新的连接以及是否删除了计划的任务。现在,我需要在第二个终端上登录(感谢RELATED,ESTABLISHED),以进行安全回滚以防万一。我尝试了在网络上找到的这种方法,但似乎不起作用:

  - name: kill cached ssh connection
    local_action: >

      shell ssh -O stop {{ hostvars[item].ansible_ssh_host|default(inventory_hostname) }}
      -o ControlPath=~/.ansible/cp/{{ hostvars[item].ansible_host|default(inventory_hostname) }}-{{ hostvars[item].ansible_user }}

    run_once: yes
    register: socket_removal
    failed_when: >
      socket_removal|failed
      and "No such file or directory" not in socket_removal.stderr
    with_items: "{{ play_hosts }}"

0 个答案:

没有答案