Python の fabric 等、 Paramiko を使ってサーバに SSH ログインをしようとすると、特定のサーバで Authentication (publickey) failed. エラーで接続できない場合がある。
Github のレポジトリに Issue があり、既に修正されている。
https://github.com/paramiko/paramiko/issues/1915
サーバが openssh 8.8 以上で、クライアントが paramiko 2.8.0 以下の場合に発生します。
fabric (fab) が使っている Python を調べる
% head $(which fab)
#!/usr/local/opt/python@3.9/bin/python3.9
# -*- coding: utf-8 -*-
import re
import sys
from fabric.main import main
if __name__ == '__main__':
sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
sys.exit(main())
fab が使っている Python の paramiko をアップデートする
% /usr/local/opt/python@3.9/bin/python3.9 -m pip install -U paramiko
コメント