使用paramiko ssh执行命令行设置超时问题?

发布于 2022-09-12 01:11:23 字数 634 浏览 10 评论 0

import paramiko
import socket

client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())

client.connect(hostname='192.168.111.200', port=22, username='root', password='cainiao308')

try:
    stdin, stdout, stderr = client.exec_command('df -h && sleep 3' ,timeout=2)
    这里,如果不加这一行stderr.read()就捕获不到timeout异常,各位大神,有其他优雅的解决方案吗?
    print(stderr.read())
    print(stdout.read())
    status = stdout.channel.recv_exit_status()
    print(status)
except Exception as e:
    if isinstance(e , socket.timeout):
        print(1111111111)
        print(type(e))


client.close()

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文