使用python连接SSH时出现错误

时间:2019-04-05 09:58:55

标签: python windows ssh centos connect

我正在尝试使用python连接在Windows中运行的我的Virtual CentOS计算机。

我已经安装了paramiko模块来执行操作。但变得低于错误

C:\Users\xxxx\PycharmProjects\xxxx\venv\lib\site-packages\paramiko\kex_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())
C:\Users\xxx\PycharmProjects\xxxx\venv\lib\site-packages\paramiko\kex_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
C:\Users\xxxx\PycharmProjects\xxxx\venv\lib\site-packages\paramiko\kex_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())

下面是我的代码:

import paramiko

ssh = paramiko.client.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
try:
    ssh.connect('10.xx.xx.xxx', username='root', password='xxxxx')
except paramiko.SSHException:
    print("Connection Failed")
    quit()

stdin, stdout, stderr = ssh.exec_command("ls /etc/")

for line in stdout.readlines():
    print
    line.strip()
ssh.close()

我搜索并安装了 加密2.6.1 python版本3.7.1 < em> PyCharm 2018.3社区版

请让我知道我在做什么错

2 个答案:

答案 0 :(得分:0)

这些不是错误,它们是paramiko发出的警告,它们需要更新代码以使用更多最新参数。您的代码仍然应该运行。最好的选择是查看paramiko软件包的作者是否有更新的版本或提出问题。

答案 1 :(得分:0)

不推荐使用Paramiko使用的方法。您应该考虑将Python降级到较低版本或下载Paramiko的更新版本(如果存在)