Как работать с интерактивным API в python

Я нахожусь в ситуации, когда мне нужно передать некоторые тексты подсказке, сгенерированной API (кажется, для API это довольно странное поведение, я столкнулся с этим впервые), как показано ниже:

kvm_cli = libvirt.open("qemu+ssh://han@10.0.10.8/system")

затем появляется подсказка, запрашивающая пароль ssh (password for 10.0.10.8 is:), я должен вручную ввести его там, чтобы двигаться дальше и получить kvm_cli объект, который мне нужен.

Я пытался использовать модуль pexpect для решения этой проблемы, но он предназначен для командной строки ОС, а не для API.

Также можно обойти это, используя файлы сертификации ssh, но это не лучший подход к аутентификации в нашем сценарии.

Поскольку наша обертка для метода 'open' не является интерактивной, мы не можем попросить пользователя ввести пароль, есть ли у вас какие-нибудь мысли, как я могу решить эту проблему?

6
задан sth 24 July 2011 в 00:31
поделиться