python - Paramiko 在身份验证期间挂起,当由 unittest runner 运行时

标签 python paramiko

美好的一天。

paramiko ssh 客户端有一个奇怪的问题。 Connect paramiko 方法在 unittest2 类/函数外部调用时挂起,代码由 unittest runner 运行。

有一段代码,出现问题的地方:

import paramiko
import unittest2

ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect('172.18.67.10',
            username='root',
            password='secrete')
_, stdout, _ = ssh.exec_command('date')


class TestTest(unittest2.TestCase):
    def setUp(self):
        pass

如果我将 ssh.connect 移动到 TestTest 类或 setUpModule 函数中,连接将会成功。当代码由原始 Python 解释器运行时,一切都正常。

当我尝试调试 paramiko 时,我在 paramiko/auth_handler.py:AuthHandler.wait_for_response 方法中的 while True 循环中发现了这个问题.

有什么建议吗?

最佳答案

根据 this SO answer ,这似乎是 paramiko 中与线程相关的错误,可以通过在导入期间不调用 connect() 来避免。

关于python - Paramiko 在身份验证期间挂起,当由 unittest runner 运行时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13155890/

相关文章:

python - 如何使用 Refinitiv Eikon API 检索指定交易所 RIC 的所有关联公司 RIC?

Python paramiko SFTP IOError

paramiko - 导入 paramiko 抛出 '_sodium' 没有功能错误

java - 如何在 Google Colab 中使用 Java

python - 通过远程连接运行带有 GUI 的程序

python - OpenCV 自动通过点绘制直线的最佳方法

python - 无法使用matplotlib显示数据

python - paramiko 无法连接到 ssh 服务器

python - 为什么 pysftp 连接不发送文件?卡在 'put'

python - 使用 Python 从 SFTP 服务器下载时不要下载空文件夹