Как запретить paramiko использовать зашифрованный ключ ~/.ssh/id_rsa?

Я продолжаю получать следующую ошибку:

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. Есть ли способ остановить его от этого?


person d33tah    schedule 28.01.2017    source источник


Ответы (1)


Paramiko пытается вернуться к вашим ключам ~/.ssh/ и сообщает только о последней ошибке. Вы можете отключить резервное поведение, передав look_for_keys=False в connect(), что затем должно вызвать более полезное исключение.

person emulbreh    schedule 28.01.2017