如何在python中处理交互式API

时间:2011-02-10 08:17:44

标签: python libvirt

我处在这样一种情况,我需要将一些文本传递给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'方法的包装器不是交互式的,我们不能要求用户输入密码,你们有什么想法我怎么能解决它?

1 个答案:

答案 0 :(得分:4)

我不是libvirt用户,但我相信问题不在库中,而是在连接方法中。您似乎通过ssh进行连接,因此您需要对自己进行身份验证。

我一直在阅读libvirt page on ArchWiki,我想你可以试试: