python - Paramiko : NameError: global name 'descriptor' is not defined

标签 python python-2.7 ssh

我尝试使用 paramiko 进行 SSH,但出现错误:

>>> import paramiko
>>> ssh = paramiko.SSHClient()
>>> ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
>>> ssh.connect('54.***.***.110', key_filename='D:\Keys\MyOWN\priv.ppk')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "build\bdist.win32\egg\paramiko\client.py", line 366, in connect
  File "build\bdist.win32\egg\paramiko\client.py", line 515, in _auth
  File "build\bdist.win32\egg\paramiko\agent.py", line 343, in __init__
  File "build\bdist.win32\egg\paramiko\agent.py", line 66, in _connect
  File "build\bdist.win32\egg\paramiko\agent.py", line 83, in _send_message
  File "build\bdist.win32\egg\paramiko\win_pageant.py", line 123, in send
  File "build\bdist.win32\egg\paramiko\win_pageant.py", line 89, in _query_pageant
  File "build\bdist.win32\egg\paramiko\_winapi.py", line 273, in get_security_attributes_for_user
  File "build\bdist.win32\egg\paramiko\_winapi.py", line 222, in descriptor
NameError: global name 'descriptor' is not defined

关于this issue - 已解决,但是 - 我仍然遇到此错误(最新的 paramiko 版本,从 Github 下载)。

可能 - 还有一些其他库可以通过 SSH 使用 RSA key 授权来启动? 或者 - 任何解决此 NameError...

的方法

最佳答案

似乎问题还没有真正解决(我也下载了最新的 zip:它也可以在 [GitHub]: paramiko/paramiko - (v1.15.2) paramiko/paramiko/_winapi.py 上看到),因此您必须在 paramiko 安装文件中自行修复它(在v1.15.3中修复):

  • 编辑您的${PYTHON_DIR}\build\bdist.win32\egg\paramiko\_winapi.py(${PYTHON_DIR}只是一个占位符你的Python安装目录), 在第 222223 行,只需将 descriptor 替换为 value:

    self._descriptor = descriptor
    self.lpSecurityDescriptor = ctypes.addressof(descriptor)
    

    应该变成:

    self._descriptor = value
    self.lpSecurityDescriptor = ctypes.addressof(value)
    

关于python - Paramiko : NameError: global name 'descriptor' is not defined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30801725/

相关文章:

Python 原始 udp 数据包未到达 udp 监听器

python - BigQuery : Is there a way to get the schema of a SELECT statement without running it (dry_run)?

python - Pygame,玩家与房间中不同墙壁的碰撞

Python——搜索子串全词)

linux - ssh key 中的命名是否重要

python - Python中的类初始化

python-2.7 - 带有 IOError : [Errno 0] Error 的 python 打印

Python:寻找一种快捷方式来为大量变量设置 setter/getter

linux - 作为本地主机访问服务器?

linux - SSH 进入 Linux 并打开 GUI