zoukankan      html  css  js  c++  java
  • 【Python学习】python paramiko CryptographyDeprecationWarning

    import paramiko
    client = paramiko.SSHClient()
    client.connect(serverIp, port=serverPort, username=serverUser)

    报警告如下:

    paramikoecdsakey.py:164: CryptographyDeprecationWarning: Support for unsafe construction of public numbers from encoded data will be removed in a future version. Please use EllipticCurvePublicKey.from_encoded_point
      self.ecdsa_curve.curve_class(), pointinfo
    paramikokex_ecdh_nist.py:39: CryptographyDeprecationWarning: encode_point has been deprecated on EllipticCurvePublicNumbers and will be removed in a future version. Please use EllipticCurvePublicKey.public_bytes to obtain both compressed and uncompressed point encoding.
      m.add_string(self.Q_C.public_numbers().encode_point())
    paramikokex_ecdh_nist.py:96: CryptographyDeprecationWarning: Support for unsafe construction of public numbers from encoded data will be removed in a future version. Please use EllipticCurvePublicKey.from_encoded_point
      self.curve, Q_S_bytes
    paramikokex_ecdh_nist.py:111: CryptographyDeprecationWarning: encode_point has been deprecated on EllipticCurvePublicNumbers and will be removed in a future version. Please use EllipticCurvePublicKey.public_bytes to obtain both compressed and uncompressed point encoding.
      hm.add_string(self.Q_C.public_numbers().encode_point())

    原因

    paramiko 2.4.2 依赖 cryptography,而最新的cryptography==2.5里有一些弃用的API。

    解决

    删掉cryptography 2.5,安装2.4.2,就不会报错了。

    pip uninstall cryptography==2.5
    pip install cryptography==2.4.2

    补充

    paramiko的issue #1369提到了这个问题,并已有PR #1379了,尚未合并。

    作者:gtea 博客地址:https://www.cnblogs.com/gtea
  • 相关阅读:
    117. Populating Next Right Pointers in Each Node II
    116. Populating Next Right Pointers in Each Node
    DFS & BFS
    Binary Search
    博客保存
    python强大的正则表达式
    游戏注意的地方
    vim使用
    下一步的
    lua的动态特性
  • 原文地址:https://www.cnblogs.com/gtea/p/13226580.html
Copyright © 2011-2022 走看看