我正在尝试使用 python 连接我在 Windows 中运行的虚拟 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()
我搜索并安装了 cryptography 2.6.1,python version 3.7.1 使用 < em>PyCharm 2018.3 社区版。
请告诉我我做错了什么
最佳答案
这些不是错误,这些是 paramiko 抛出的警告,他们需要更新代码以使用更多最新参数。你的代码应该仍然可以运行。最好的办法是查看是否有更新版本或向 paramiko 包的作者提出问题。
关于python - 使用python连接SSH时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55532832/