zoukankan      html  css  js  c++  java
  • 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了,尚未合并。

  • 相关阅读:
    git log中文乱码问题
    局域网映射公网IP
    Android Studio 的一些配置
    Android Studio的安装
    adb的安装
    python的安装
    CentOS 7 上部署 java web 项目
    SQL——SQL语句总结(8)
    SQL——SQL语句总结(7)
    SQL——SQL语句总结(6)
  • 原文地址:https://www.cnblogs.com/meilong/p/Python-paramiko-an-zhuang-bao-cuo.html
Copyright © 2011-2022 走看看