小编shr*_*ing的帖子

由于 ssh-agent 进程的数量增加,服务器被杀死

我有一个部署用户每分钟都在运行一次 cronjob 调整。

在远程服务器(部署目标)上,我没有可用的公钥,而是通过Could not open a connection to your authentication agentssh-add 在我的部署服务器上获得了一个。

我最终将这一行放到了我的 .bashrc 中:

ps -u $(whoami) | grep ssh-agent &> /dev/null || (eval $(ssh-agent) && ssh-add)
Run Code Online (Sandbox Code Playgroud)

尽管在我的理解中不应该,但 cronjob 每次都会打开一个新的 ssh-agent。14-16 小时后,服务器在创建包含大量如下条目的 kern 日志后内存不足:

Aug 12 21:50:58 tools kernel: [64021.568750] [25668]  1000 25668     2654       81       9        0             0 ssh-agent
Run Code Online (Sandbox Code Playgroud)

...我必须重新启动它。

如何在结束 cronjob 后将正在运行的 ssh-agent 进程的数量限制为 1 或终止该进程?

更新 给定的答案工作得很好,我刚刚发现我eval ssh-add在 crontab 中有另一个。我将用赏金来奖励给定的问题。

server ssh

7
推荐指数
1
解决办法
8001
查看次数

标签 统计

server ×1

ssh ×1