Python 通过paramiko(SSH)连接到多个主机非常慢

Python 通过paramiko(SSH)连接到多个主机非常慢,python,paramiko,Python,Paramiko,我对python不是一个完全的新手,但我是相当新的,没有经验。我最近发现了paramiko,当时我想编写一个脚本来自动化一些软件包版本检查,并与我们的生产环境进行比较,但每个连接都需要很长时间:( 在这之前我检索了一个JSON文档,它包含了连接位置等所有信息。问题是-每个连接都需要大约10秒的时间来ssh到主机,到rpm-q应用程序名,在屏幕上输出,并在连接到下一个主机之前关闭连接。这是python的常规行为吗+帕拉米科/ 请让我知道,如果你需要更多的信息,我在我的脚本做什么,但我认为这将是足够

我对python不是一个完全的新手,但我是相当新的,没有经验。我最近发现了paramiko,当时我想编写一个脚本来自动化一些软件包版本检查,并与我们的生产环境进行比较,但每个连接都需要很长时间:(

在这之前我检索了一个JSON文档,它包含了连接位置等所有信息。问题是-每个连接都需要大约10秒的时间来ssh到主机,到rpm-q应用程序名,在屏幕上输出,并在连接到下一个主机之前关闭连接。这是python的常规行为吗+帕拉米科/

请让我知道,如果你需要更多的信息,我在我的脚本做什么,但我认为这将是足够的


编辑:还想提到手动连接到这些主机的速度非常快,它们不是远程机器,也不是超慢。这一定是我的代码造成的……我只是没有更多的想法。

我找到了“解决方案”…既将pycrypto从2.6降级到2.4.1,也大大降低了我的公共ssh密钥的位大小我提高了速度

仅供参考,要降级pycrypto使用:

sudo pip install -U https://pypi.python.org/packages/source/p/pycrypto/pycrypto-2.4.1.tar.gz
要降低密钥的位大小,请使用:

ssh-keygen -t rsa -b 768 -C "email@example.com"

请显示stdin、stdout、sderr=ssh.exec_命令('rpm-q'+app['name'])和其他命令的时间。
ssh-keygen -t rsa -b 768 -C "email@example.com"