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()
网上查的解决方案:
在程序末尾添加sys.exit(),没有解决
报错原因:其实主要ssh返回的结果缓冲释放过快未读完,就产生报错了。加一个sleep 1秒就可以解决了。
参考文献:
https://blog.csdn.net/hao_zhang_shrek/article/details/106461504