【问题标题】:Unable to connect to server using Paramiko package无法使用 Paramiko 包连接到服务器
【发布时间】:2019-03-27 23:33:32
【问题描述】:

我正在尝试使用 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(), 点信息

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

文件“/usr/local/lib/python3.5/dist-packages/paramiko/client.py”,第 334 行,在连接中 to_try = list(self._families_and_addresses(hostname, port))

文件“/usr/local/lib/python3.5/dist-packages/paramiko/client.py”,第 204 行,在 _families_and_addresses 主机名、端口、socket.AF_UNSPEC、socket.SOCK_STREAM

文件“/usr/lib/python3.5/socket.py”,第 733 行,在 getaddrinfo
对于 _socket.getaddrinfo(host, port, family, type, proto, flags) 中的 res:

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

【问题讨论】:

    标签: python ssh paramiko


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2020-02-10
      • 1970-01-01
      • 1970-01-01
      • 2019-11-24
      • 2015-03-14
      • 2018-10-27
      • 2013-04-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多