如何阻止 paramiko 使用 ~/.ssh/id_rsa 加密密钥?

How to stop paramiko from using ~/.ssh/id_rsa encrypted key?

我不断收到以下错误:

Traceback (most recent call last):
  File "/home/d/workspace/paramiko/connect_test/main.py", line 127, in connect
    cStringIO.StringIO(local_settings.RSA_KEY)
  File "/home/d/virtualenv/lib/python2.7/site-packages/paramiko/client.py", line 380, in connect
    look_for_keys, gss_auth, gss_kex, gss_deleg_creds, gss_host)
  File "/home/d/virtualenv/lib/python2.7/site-packages/paramiko/client.py", line 603, in _auth
    raise saved_exception
paramiko.ssh_exception.PasswordRequiredException: Private key file is encrypted

问题是我添加了我想以这种方式使用的密钥并且它没有加密:

                ssh_client.connect(
                    node_ip, username=local_settings.USERNAME,
                    pkey=paramiko.RSAKey.from_private_key(
                        cStringIO.StringIO(local_settings.RSA_KEY)
                    )
                )

我认为它正在查看我的加密私钥 ~/.ssh/id_rsa。有什么办法可以阻止它这样做吗?

Paramiko 尝试回退到您的 ~/.ssh/ 键并且只报告最后一个错误。您可以通过将 look_for_keys=False 传递给 connect() 来禁用回退行为,这将引发更有用的异常。