Skip to main content
 首页 » 编程设计

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

2025年05月04日69linjiqin

我的代码:

#!/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 进入有问题的机器(我的意思是,“我什至不需要输入我的密码”很好)

请您参考如下方法:

您需要将 WarningPolicy 对象传递给 set_missing_host_key_policy

client.set_missing_host_key_policy(WarningPolicy())