Paramiko: Python使用paramiko连接主机报错“Authentication timeout”

问题描述:
在用Python Paramiko库去连接主机时 始终无法连接,exception输出错误仅有 Authentication timeout

    connection = paramiko.SSHClient()
    connection.set_missing_host_key_policy(paramiko.AutoAddPolicy())
    try:
        connection.connect(hostname='192.168.xxx.xxx', port=22, username='root', password='test')
    except Exception as ex:
        print ex.message
    channel = connection.invoke_shell()
    resp = channel.recv(1000)

问题原因:
调查发现确实连接到主机的时候花费较长时间,可以用Xshell连接试试,很长时间出不来键入命令【root@localhost~】那一行,很久之后倒是可以成功建立连接,只是时间很久。

解决方案:

  1. 在python paramiko 方法connect参数添加一个auth_timeout参数,值为秒,例如auth_timeout=60,该方式如果60秒仍连接失败,考虑加大auth_timeout时间再试试。
  2. 第一种方式等待若干秒也能连接就是慢些。另一种方式修改sshd配置, 执行命令 vi /etc/ssh/sshd_config 查找配置UseDNS 去掉该行最前面的# 修改yes 为 no, 重启服务, service sshd restart. Paramiko: Python使用paramiko连接主机报错“Authentication timeout”_第1张图片

文章标签:Python Paramiko, 运维开发,运维工具

文章转载自:工具类网站 更多内容,欢迎访问

转载请注明出处。

你可能感兴趣的:(运维工具,python)