我正在尝试使用Paramiko通过ssh连接到远程主机但是我收到一条错误消息,指出访问主机需要键盘身份验证。有什么方法可以使用Paramiko解决这个问题吗?如果没有,我可以使用另一个ssh模块吗?如果必须,我甚至会使用另一种语言。我唯一能做的就是更改主机上的设置。此外,我在Windows主机上编写此应用程序,因此pxssh不是一个选项。有什么建议吗?
答案 0 :(得分:-1)
您可以从您拥有的任何资源获取用户名和密码,并在致电connect时使用它。例如,您可以将它们保存在配置文件中。
答案 1 :(得分:-1)
使用pkey=
直接传递私钥,或者在调用key_filename=
时使用connect()
传递文件名称,如下所示:
client = SSHClient()
client.connect('remotehost', key_filename='/path/to/private_key')
或
private_key = """
-----BEGIN EC PRIVATE KEY-----
MHcCAQEEIMhTkzF8pZ5gtXvAafjNRsKXWXnhjslUW194WteddA3YoAoGCCqGSM49
AwEHoUQDQgAEkb0qngPKOKVcjqszHg+7Y95TLvWZb5qtHb4ZmuLJRYIMzx78C9gp
sb3jBuW2VCaoO8SfyXUKeOzT7eJTH6j8GQ==
-----END EC PRIVATE KEY-----
""""
client = SSHClient()
client.connect('remotehost', pkey=private_key)