Paramiko 错误 "missing_host_key() missing 1 required positional argument: 'key'"

Paramiko error "missing_host_key() missing 1 required positional argument: 'key'"

我的代码:

#!/usr/bin/env python3

from paramiko.client import SSHClient, WarningPolicy

HOST_NAME = "********"
USER_NAME = "********"
PASSWD = "********"

def ssh_setup():
    client = SSHClient()
    client.load_system_host_keys()
    client.set_missing_host_key_policy(WarningPolicy)
    client.connect(HOST_NAME, 22, USER_NAME, PASSWD)
    return client

def main():
    client = ssh_setup()
    client.exec_command("DISPLAY=:0.0 notify-send \"Test\"")
    client.close()

if __name__ == "__main__":
    main()

当运行时,出现以下错误:

Traceback (most recent call last):
  File "./test", line 30, in <module>
    main()
  File "./test", line 25, in main
    client = ssh_setup()
  File "./test", line 20, in ssh_setup
    client.connect(HOST_NAME, 22, USER_NAME, PASSWD)
  File "/usr/local/lib/python3.4/dist-packages/paramiko/client.py", line 348, in connect
    server_key)
TypeError: missing_host_key() missing 1 required positional argument: 'key'

我可以通过 ssh 连接到有问题的机器(我的意思是,"I don't even need to enter my password" 很好)

您需要将 WarningPolicy 对象传递给 set_missing_host_key_policy

client.set_missing_host_key_policy(WarningPolicy())