问题描述:
系统:centos 6.x
yum -y install ansible
运行ansible的命令,后报错:
ansible all -m ping
/usr/lib64/python2.6/site-packages/Crypto/Util/number.py:57: PowmInsecureWarning: Not using mpz_powm_sec. You should rebuild using libgmp >= 5 to avoid timing attack vulnerability.
_warn("Not using mpz_powm_sec. You should rebuild using libgmp >= 5 to avoid timing attack vulnerability.", PowmInsecureWarning)
略。。。。。。
首先这不算是一个报错信息,而是一个安全提示信息,是说系统自带的gmp库版本太低,容易遭受攻击,需要升级到gmp 5.x,这是由于使用epel源安装ansible造成的一个bug,这是相关说明网址:
https://github.com/ansible/ansible/issues/6941
在网上找了很久,也试了很多次,但是都不成功,基本思路都是通过升级gmp,并重新安装python相关模块的方式进行修复,其实解决办法很简单,在警告信息中已经告诉了警告的文件位置,只要注释掉相关信息即可。
解决方法:
cp /usr/lib64/python2.6/site-packages/Crypto/Util/number.py{,.bak}
sed -i "s/^if/#&/" /usr/lib64/python2.6/site-packages/Crypto/Util/number.py
再次运行ansible,就没有了警告显示。
备注:
通过源码方式安装,可以避免这个问题,相关网址:
http://ansible-tran.readthedocs.io/en/latest/docs/intro_installation.html#githubansible
If you want to suppress spurious warnings/errors, use(用于忽略警告信息):
$ source ./hacking/env-setup -q