Вот очень простой случай, который меня очень беспокоил.Доступ к Cisco IOS через SSH, с сообщением об ошибке «не удалось»
Это содержание ansible.cfg:
[defaults]
transport = paramiko
hostfile = ./hosts
host_key_checking = False
timeout = 5
содержание хозяев, все с именем пользователя «сиг» и пароль «сиг» слишком
[routers]
R1
R2
R3
...
переменная хоста файл (R1), аналогично R2, R3, ..., просто по-другому в IP-адреса:
---
ansible_ssh_host: 10.10.10.1
ansible_ssh_user: cisco
ansible_ssh_pass: cisco
Я могу успешно SSH для тех ро uters через Linux, но когда я использую анзибль, это привело к «Ошибка аутентификации»:
fatal: [R1] => {'msg': 'FAILED: Authentication failed.', 'failed': True}
fatal: [R2] => {'msg': 'FAILED: Authentication failed.', 'failed': True}
...
и я проверил связь с некоторыми анзибль команд одна линия, по-прежнему получаю сообщение об ошибке, даже если я ввести имя пользователя и пароль вручную, например:
> ansible routers -m raw
R1 | FAILED => FAILED: Authentication failed.
R2 | FAILED => FAILED: Authentication failed.
> ansible routers -u cisco -m raw
R1 | FAILED => FAILED: Authentication failed.
R2 | FAILED => FAILED: Authentication failed.
> ansible routers -u cisco -m raw -k
SSH password:
R1 | FAILED => FAILED: Authentication failed.
R2 | FAILED => FAILED: Authentication failed.
Как это решить? помощь будет оценена.
I f в итоге выяснилось это, проверив полный журнал (paramiko.common.logging.basicConfig (level = paramiko.common.DEBUG), paramiko завершит соединение, если аутентификация с открытым ключом завершилась неудачно, вместо того, чтобы продолжать попытки пароля. Поэтому при использовании paramiko параметр «look_for_keys» в методе «connect()» ДОЛЖЕН быть установлен на False – nonemaw
После установки look_for_keys = False, все в порядке – nonemaw
вы можете ответить на свой вопрос с небольшим количеством деталей, чтобы он помог другим. Спасибо –