Ssh agent ssh add returns";连接到代理时出错“;尽管ssh代理正在运行

Ssh agent ssh add returns";连接到代理时出错“;尽管ssh代理正在运行,ssh-agent,Ssh Agent,我在ssh-agent和ssh-add中遇到了奇怪的行为。我有一个运行Raspbian 10 Buster的Raspberry Pi,我通过ssh连接到它 我需要使用ssh身份验证将一些东西从Pi推送到GitHub repo。当我尝试在没有显式启动ssh代理的情况下执行ssh add时,它失败了。因此,我用eval`ssh-agent-s`启动代理,用ssh-add添加我的GitHub密钥,一切正常,我能够推送到我的repo 我注意到过了一段时间,我的推送又失败了。其间没有重新启动,从我的PC到

我在
ssh-agent
ssh-add
中遇到了奇怪的行为。我有一个运行Raspbian 10 Buster的Raspberry Pi,我通过ssh连接到它

我需要使用ssh身份验证将一些东西从Pi推送到GitHub repo。当我尝试在没有显式启动ssh代理的情况下执行
ssh add
时,它失败了。因此,我用
eval`ssh-agent-s`
启动代理,用
ssh-add
添加我的GitHub密钥,一切正常,我能够推送到我的repo

我注意到过了一段时间,我的推送又失败了。其间没有重新启动,从我的PC到Pi的ssh会话也没有终止(在我注销并在cron作业中完成了
git push
之后,我也遇到了这种情况)。我可以看到ssh代理进程仍在运行,但是当我调用
ssh add
时,我得到“连接到代理时出错:没有这样的文件或目录”。我检查了
SSH\u AGENT\u SOCK
的值,发现此时它是空的,所以我猜SSH add抱怨的是套接字文件

在我杀死ssh代理并再次启动它之后,我能够执行
ssh add
,然后一切又恢复正常。但是这个问题一次又一次地发生,我不知道是什么触发了它

有人能解释一下这种行为吗