2016-05-13 6 views
2

Вот очень простой случай, который меня очень беспокоил.Доступ к 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. 

Как это решить? помощь будет оценена.

+0

I f в итоге выяснилось это, проверив полный журнал (paramiko.common.logging.basicConfig (level = paramiko.common.DEBUG), paramiko завершит соединение, если аутентификация с открытым ключом завершилась неудачно, вместо того, чтобы продолжать попытки пароля. Поэтому при использовании paramiko параметр «look_for_keys» в методе «connect()» ДОЛЖЕН быть установлен на False – nonemaw

+0

После установки look_for_keys = False, все в порядке – nonemaw

+1

вы можете ответить на свой вопрос с небольшим количеством деталей, чтобы он помог другим. Спасибо –

ответ

0

Питон интерпретатор connect() for paramiko connections может быть использован, как это:

connect(hostname, port=22, username=None, password=None, pkey=None, key_filename=None, timeout=None, allow_agent=True, look_for_keys=True, compress=False, sock=None, gss_auth=False, gss_kex=False, gss_deleg_creds=True, gss_host=None, banner_timeout=None, auth_timeout=None)

[& hellip;]

look_for_keys (BOOL) - устанавливается в значение False, чтобы отключить поиск для открываемого закрытого ключа файлов в ~/.ssh/

+0

Для наглядности Арбаб Назар не искал ответа; они * просили, чтобы это было четко написано ради потомства *, цель SO. Я попытался настроить этот ответ для большей ясности. Если вы можете добавить больше объяснений, которые также будут оценены. –

 Смежные вопросы

  • Нет связанных вопросов^_^