我处在这样一种情况,我需要将一些文本传递给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'方法的包装器不是交互式的,我们不能要求用户输入密码,你们有什么想法我怎么能解决它?
答案 0 :(得分:4)
我不是libvirt用户,但我相信问题不在库中,而是在连接方法中。您似乎通过ssh进行连接,因此您需要对自己进行身份验证。
我一直在阅读libvirt page on ArchWiki,我想你可以试试: