Ubuntu14.04にインストールしたfabricで複数のサーバーにリモートログインし、コマンドを実行した際にいくつかのサーバーでは paramiko.SSHException: Incompatible ssh peer (no acceptable kex algorithm) と表示され、うまく接続ができなかった問題を解消した時のメモ。
状態
- OSはUbuntu14.04
- リモートログインする全てのサーバーでエラーになる訳ではなく、幾つかのサーバーへの接続時のみ発生
- fabric経由での実行にエラーとなったサーバーへsshコマンドで接続を行ってみると可能だった
参考
paramiko.SSHException: Incompatible ssh peer (no acceptable kex algorithm) ubuntu 14.04
解消方法
参考のリンクの通りなのですが、paramiko というfabricが依存しているパッケージ?が古いバージョンなので発生していましたようです。そのため、こちらをアップグレードすることで問題解消しました。
# paramikoパッケージのバージョン確認
$pip freeze |grep paramiko
paramiko==1.10.1
# 古いのでアップグレード
$pip install paramiko --upgrade
これでfabricを再度実行してみたら特に問題が発生せず、できるようになりました。