无法使用Paramiko软件包连接到服务器

时间:2019-03-27 15:06:16

标签: python ssh paramiko

我正在尝试使用SSH在Python中使用端口2022(而非22)连接到我的服务器。因此,我编写了以下使用Paramiko软件包的代码:

import sys
import paramiko

try:
  client = paramiko.SSHClient()
  client.load_system_host_keys()
  client.set_missing_host_key_policy(paramiko.WarningPolicy)
  client.connect('ccap@10.40.2.222', '2022', '', 'ccap')
finally:
  client.close()

但是当我在IDE(PyCharm)中运行它时,出现以下错误:

  

/usr/local/lib/python3.5/dist-packages/paramiko/ecdsakey.py:164:CryptographyDeprecationWarning:在将来的版本中,将不再支持从编码数据中不安全地构造公用号码。请使用EllipticCurvePublicKey.from_encoded_point     self.ecdsa_curve.curve_class(),pointinfo

     

回溯(最近通话最近):
    在第9行的“ /home/mshapirs/PycharmProjects/OnlineTest.py/OnlineTest.py”文件中       client.connect('ccap@10.40.2.222','2022','','ccap')

     

connect中的文件“ /usr/local/lib/python3.5/dist-packages/paramiko/client.py”,第334行       to_try = list(self._families_and_addresses(主机名,端口))

     

文件“ /usr/local/lib/python3.5/dist-packages/paramiko/client.py”,第204行,位于_families_and_addresses中       主机名,端口,套接字。AF_UNSPEC,套接字.SOCK_STREAM

     

getaddrinfo中的文件“ /usr/lib/python3.5/socket.py”,行733
       _socket.getaddrinfo(主机,端口,家庭,类型,原型,标志)中的res:

     

socket.gaierror:[Errno -2]名称或服务未知

1 个答案:

答案 0 :(得分:1)

您应提供用户名作为单独的参数,而不是主机地址之前。

Look at the docs for .connect。它分别列出了usernamehostname