Ansible telnet без логина - PullRequest
       18

Ansible telnet без логина

0 голосов
/ 14 декабря 2018

Мне нужно подключиться к устройствам cisco с помощью модуля ansible telnet (я не могу включить SSH).Во всех уроках, которые я нашел в Интернете, все указывают имя пользователя для входа и пароль для аутентификации в telnet.

Но мой маршрутизатор не нуждается в имени пользователя, приглашение auth начинается непосредственно с сообщения:

Password:

Вот мои файлы:

inventory.yml:

[cisco]
test ip_address=xxx.yyy.zzz

[cisco:vars]
password=test
password_enable=test

plays / cisco.yml:

---

- hosts: cisco
  connection: local
  roles:
    - role: cisco-telnet

role / cisco-telnet / tasks / main.yml:

---
- name: Telnet test
  telnet:
    host: "{{ ip_address }}"
    port: 23
    password_prompt: "Password:"
    password: "{{ password }}"
    prompts:
      - '[>|#]'
    command:
      - enable
      - "{{ password_enable }}"
      - show running-config

Каждый раз я получаю сообщение об ошибке:

FAILED! => {
    "msg": "Unexpected failure during module execution.",
    "stdout": ""
}

Как использовать модуль telnet без указания имени пользователя?Кто-то уже сделал это?

1 Ответ

0 голосов
/ 14 декабря 2018

Изучение исходного кода модуля telnet и чтение документации Я предполагаю следующее:

Если password пуст, тонет password prompt ожидается.

Следовательно, вы можете использовать login prompt для password.Несколько странно, поэтому я думаю, что следующий фрагмент кода должен работать:

- name: Telnet test
  telnet:
    host: "{{ ip_address }}"
    port: 23
    login_prompt: "Password:"
    user: "{{ password }}"
    prompts:
      - '[>|#]'
    command:
      - enable
      - "{{ password_enable }}"
      - show running-config

Я не могу проверить это, потому что у меня больше нет сервера telnet, вы опоздали на 20 лет; -)

...