我在试着解决一个突然爆发的短命SSH连接。这些连接是从我的Mac (MBP,Catalina10.15.6,zsh)启动到我网络上的一些Linux“设备”,尤其是树莓派。连接终止后,它们将消息client_loop: send disconnect: Broken pipe留在终端中。
然而,
有关,这只是作为背景提供的
ssh-agent -k不杀死ssh-agent**?**它似乎失败了,因为没有设置环境变量SSH_AGENT_PID。根据我在我的Mac终端应用程序中看到的,我已经猜到了这一点:
1.列出与ssh相关的进程:
% pgrep -f ssh
2138
75076
75942
75943
75944
% ps 2138
PID TT STAT TIME COMMAND
2138 ?? S 0:00.26 /usr/bin/ssh-agent -lPID 2138是ssh-agent**,其他PID是活动的** ssh连接到覆盆子或Ubuntu都是Linux。
2.杀死ssh-agent IAW man ssh-agent__:
来自man ssh-agent**:**
代理-c x- -s -k -k杀死当前代理(由SSH_AGENT_PID环境变量提供)。
% ssh-agent -k
SSH_AGENT_PID not set, cannot kill agent
% sudo ssh-agent -k
SSH_AGENT_PID not set, cannot kill agent
% echo $SSH_AGENT_PID
% 我可以使用ssh-agent **或使用** pkill ssh-agent**来杀死kill 2138,所以答案可能是苹果的of_ _ssh-agent_不提供variable_ _SSH_AGENT_PID_环境。但如果答案是这样的话,这就引出了另一个问题:_Is有一个不分配环境variable_ _SSH_AGENT_PID__?**_的正当理由
还请注意,一个相关问题。然而,针对这个问题的OP并没有确定他的SSH客户端主机是macOS。他还表示,SSH_AGENT_PID没有设置,但似乎只关心ssh-agent是如何启动的。在我的例子(macOS)中,ssh-agent是在启动ssh连接时启动的。我在“相似的问题”建议框中找到了其他问题,我读了其中的几个,但没有一个看上去和我的一样。
发布于 2022-08-02 00:48:31
发布于 2021-08-25 17:00:19
我在ubuntu 18.04上也有过同样的问题。在使用pidof ssh-agent获取ID之后,以下内容对我起了作用:
export SSH_AGENT_PID=<pid>
eval `ssh-agent -k`https://unix.stackexchange.com/questions/616241
复制相似问题