問題描述:
系統: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