ncclient: подключение к серверу NETCONF - PullRequest
1 голос
/ 17 июня 2019

Я хочу использовать библиотеку python ncclient 0.6.6 с Python 2.7.15 для подключения к серверу NETCONF (netopeer2) и считывания текущей конфигурации.

Я попытался следовать примеру из руководства, запустив этот код в консоли:

with manager.connect(host="*the IP adress*", port=*the port*, timeout=None, username="*user*", password="*pwd*") as m:
    c = m.get_config(source='running').data_xml
    with open("%s.xml" % host, 'w') as f:
        f.write(c)

Как написано в руководстве, я пытаюсь отключить аутентификацию с открытым ключом с помощью allow_agent и look_for_keys как False. К сожалению, это не работает должным образом, потому что я получаю сообщение об ошибке:

  File "<stdin>", line 1, in <module>
  File "/home/sisc/.local/lib/python2.7/site-packages/ncclient/manager.py", line 177, in connect
    return connect_ssh(*args, **kwds)
  File "/home/sisc/.local/lib/python2.7/site-packages/ncclient/manager.py", line 143, in connect_ssh
    session.connect(*args, **kwds)
  File "/home/sisc/.local/lib/python2.7/site-packages/ncclient/transport/ssh.py", line 481, in connect
    raise SSHUnknownHostError(known_hosts_lookup, fingerprint)
ncclient.transport.errors.SSHUnknownHostError: Unknown host key [e3:8d:35:a9:43:f9:3c:8a:f4:d3:88:5b:a9:36:93:59] for [[192.168.56.2]:1831]

Я не понимаю, почему он все еще жалуется на неизвестный ключ хоста, хотя я явно отключил аутентификацию с открытым ключом. Сервер NETCONF netopeer определенно работает, потому что я получаю сообщение «Hello», как только я пытаюсь подключиться к нему через SSH из терминала. Я что-то пропустил?

1 Ответ

0 голосов
/ 24 июня 2019
m = manager.connect(host="172.17.0.2", port=830, username="netconf", password="netconf", hostkey_verify=False)

Сделал трюк.Hostkey_verify должен быть ложным.

...