paramiko とは
paramikoは、python2.2(またはそれ以上)を使ってリモートマシンへの安全な(SSH2プロトコル)接続をするのためのモジュール。
インストール
# easy_install -Z paramiko
以上。
エラー
インストール後、import したところ、
/usr/local/lib/python2.*/site-packages/pycrypto-2.6-py2.5-linux-x86_64.egg/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 のバージョンが古いため、paramiko の実行に必要な pycrypto が吐いている警告。
gmp(5系)のインストール
既存の gmp バージョンを確認
# rpm -qa |grep gmp gmp-devel-4.1.4-10.el5 gmp-4.1.4-10.el5
# ldconfig -p |grep libgmp libgmpxx.so.3 (libc6,x86-64) => /usr/lib64/libgmpxx.so.3 libgmpxx.so.3 (libc6, hwcap: 0x0000000004000000) => /usr/lib/sse2/libgmpxx.so.3 libgmpxx.so.3 (libc6) => /usr/lib/libgmpxx.so.3 libgmpxx.so (libc6,x86-64) => /usr/lib64/libgmpxx.so libgmpxx.so (libc6) => /usr/lib/libgmpxx.so libgmp.so.3 (libc6,x86-64) => /usr/lib64/libgmp.so.3 libgmp.so.3 (libc6, hwcap: 0x0000000004000000) => /usr/lib/sse2/libgmp.so.3 libgmp.so.3 (libc6) => /usr/lib/libgmp.so.3 libgmp.so (libc6,x86-64) => /usr/lib64/libgmp.so libgmp.so (libc6) => /usr/lib/libgmp.so
4系 がインストールされていた。
そして、今回必要なのは 5系 らしい。
というわけで、インストールする。
DL & 展開
# cd /usr/local/src/ # wget ftp://ftp.gmplib.org/pub/gmp/gmp-5.1.1.tar.bz2 # tar jxf gmp-5.1.1.tar.bz2 # cd gmp-5.1.1
configure
# ./configure
特記事項無し。
make
# make
チェック
# make check
make install
# make install
ldconfig
# /sbin/ldconfig
確認
以上で大丈夫かと思ったが、ダメだった。 python のリビルドも必要らしい。
Python rebuild
# cd /usr/local/src # tar zxvf Python-2.6.6.tgz # cd ./Python-2.6.6 # ./configure --enable-shared # make # make install # /sbin/ldconfig
pycrypto の再インストール
もう一度、pycrypto を入れ直す。
アンインストール
先ほどインストールされたものを削除する。
# easy_install -m pycrypto # rm -rf [/path/to/python/site-packages]/pycrypto*
インストール
# easy_install -Z pycrypto
以上で、paramiko を import してもワーニングが出なくなった。