我处于这样一种情况,我需要将一些文本传递给API生成的提示(对于API而言,这是一个非常奇怪的行为,这是我第一次碰到这个),如下所示:
kvm_cli = libvirt.open("qemu+ssh://han@10.0.10.8/system")
Run Code Online (Sandbox Code Playgroud)
然后一个提示出现询问ssh密码(password for 10.0.10.8 is:),我必须手动输入它,以便继续前进并产生kvm_cli我需要的对象.
我尝试使用该pexpect模块来处理这个问题,但它是用于OS命令行而不是API.
通过使用ssh认证文件也可以解决这个问题,但在我们的场景中它不是一种有利的认证方法.
由于我们对'open'方法的包装不是交互式的,我们不能要求用户输入密码,你们有什么想法我怎么能解决它?
我不是libvirt用户,但我相信问题不在于库,而在于连接方法。您似乎是通过 ssh 连接的,因此您需要验证自己的身份。
我一直在阅读ArchWiki 上的 libvirt 页面,我认为你可以尝试: