我经常ssh
登录很多服务器。
运行执行此操作的脚本时,ssh-agent
会使用 100% CPU 时间。对于许多服务器上的小任务来说,ssh-agent
现在是瓶颈。
我能做些什么来加快速度吗ssh-agent
?是否可以要求它解雇一名工人来完成繁重的工作?我还有很多其他核心。
答案1
不,ssh-agent
不可能并行工作。它按顺序处理所有请求,这在进行大量签名时可能会导致大量 CPU 周期。
您没有提到您正在使用的密钥类型和大小。您可以通过使用不同的密钥类型(ECDSA、ED25519...)或更小的 RSA 大小来实现性能上的一些差异。
如果您没有密钥上的密码,则可以省略密码ssh-agent
,并且签名可以简单地由其ssh
本身执行(尽管这可能会降低安全性)。
正如评论中已经提到的,您可以使用ControlMaster
(如果您向同一服务器发出多个连接)来加快某些操作的速度。
最后我能想到的是运行多个 ssh 代理来分配负载(可能在不同的 shell 中),但这也是一种丑陋的解决方法。