gpt4 book ai didi

ssh - 为什么 Fabric 会抛出 'TypeError: argument must be an int, or have a fileno() method' ?

转载 作者:行者123 更新时间:2023-12-04 01:52:15 28 4
gpt4 key购买 nike

在远程服务器上运行 Fabric 任务时,我得到以下堆栈跟踪:

[x.x.x.x] run: git fetch && git reset --hard origin/develop
Exception in thread Thread-2:
Traceback (most recent call last):
File "/usr/lib/python2.6/threading.py", line 532, in __bootstrap_inner
self.run()
File "/var/lib/jenkins/jobs/deploy/workspace/.pyenv/lib/python2.6/site-packages/ssh/agent.py", line 115, in run
self._communicate()
File "/var/lib/jenkins/jobs/deploy/workspace/.pyenv/lib/python2.6/site-packages/ssh/agent.py", line 125, in _communicate
events = select([self._agent._conn, self.__inr], [], [], 0.5)
TypeError: argument must be an int, or have a fileno() method.

Fabric 任务正在尝试执行 git fetch 并且在 ssh/agent.py 中引发异常这一事实让我认为 SSH 身份验证有问题。

同一用户可以在 Fabric 之外运行 git fetch,并且该任务在我的笔记本电脑上运行良好。

这里发生了什么?我该如何解决这个问题?

最佳答案

An issue在 Fabric 的问题跟踪器上提出的错误可能是由于没有在主机上运行 ssh-agent 而引起的。

我通过启动一个 ssh-agent 并添加用户的 key 解决了这个问题:

$> eval `ssh-agent`
$> ssh-add ~/.ssh/id_rsa

成功!

关于ssh - 为什么 Fabric 会抛出 'TypeError: argument must be an int, or have a fileno() method' ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10935263/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com