paramikoのインストール

提供: Wikiducca
移動: 案内検索

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 してもワーニングが出なくなった。

参考: http://stackoverflow.com/questions/9171983/any-met-python-import-paramiko-and-crypto-err-like-not-using-mpz-powm-sec