paramiko 连接ssh报错

源代码

import paramiko

# 创建SSH对象
ssh = paramiko.SSHClient()
# 允许连接不在know_hosts文件中的主机
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
# 连接服务器
ssh.connect(hostname='198.12.12.12', port=22, username='box', password='123')
print(1)
# 执行命令
stdin, stdout, stderr = ssh.exec_command('df -h')
print(2)

# 获取命令结果
result = stdout.read().decode('utf-8')
print(result)

# 关闭连接
ssh.close()

报错信息

paramiko 连接ssh报错_第1张图片

网上查的解决方案:

在程序末尾添加sys.exit(),没有解决

报错原因:其实主要ssh返回的结果缓冲释放过快未读完,就产生报错了。加一个sleep 1秒就可以解决了。

paramiko 连接ssh报错_第2张图片

参考文献:

https://blog.csdn.net/hao_zhang_shrek/article/details/106461504

你可能感兴趣的:(python,python)