4

我正在使用 Python 将 SSH 连接到主机,运行 bash 命令,然后以 Pythonic 的方式将结果解析为多个数据结构以供以后显示。

我正在使用用于 SSH 的 Paramiko 库并在远程主机上执行命令,如下所示:

ssh = paramiko.SSHClient()
ssh.exec_command("command goes here")

我以这种方式运行了许多命令,并且似乎大多数命令都在工作(我正在循环一个文件并在远程服务器上构建文件路径以运行命令)。但是,大约执行到一半时,我遇到了这个错误。

我认为这与ssh.exec_command()我拨打的电话量有关,但我不确定。有任何想法吗?

4

2 回答 2

9

我相信我已经解决了它:因为exec_command()是非阻塞的,所以我基本上试图在远程机器上一次运行大量命令。这是违反政策并被阻止的。

我通过强制我的脚本等到每个命令通过stdout.readlines(). 现在工作得很好。

于 2013-05-24T21:55:50.420 回答
7

我有类似的问题,我发现有一个SSH服务器配置也需要修改。

任何有类似问题的人都可以"#MaxSessions=10"先在 sshd 配置中找到(在我的情况下,就是/etc/sshd/sshd_config)。

修改MaxSessions=10为其他值可能可以解决问题。

于 2014-11-11T10:05:38.690 回答