私はssh
定期的に多くのサーバーにログインします。
これを行うスクリプトを実行すると、ssh-agent
CPU時間が100%使用されます。これは、サーバーの多くの小さなタスクのボトルネックですssh-agent
。
スピードを上げるために私ができることはありますかssh-agent
?難しいことをするために労働者を解雇するように依頼できますか?他のコアもたくさんあります。
答え1
いいえ、ssh-agent
並行して作業することは不可能です。すべての要求が順次処理されるため、多数の署名を実行すると多くのCPUサイクルが発生する可能性があります。
使用しているキーの種類とサイズについては言及していません。さまざまなキータイプ(ECDSA、ED25519 ...)またはより小さいRSAサイズを使用すると、パフォーマンスにわずかな違いがあります。
キーにパスワードがない場合、パスワードは省略され、署名はそれssh-agent
自体ssh
で実行される可能性があります(これによりセキュリティが低下する可能性があります)。
説明ですでに述べたように、ControlMaster
(同じサーバーに複数の接続を発行する場合)を使用して、一部の作業を高速化できます。
私が考えることができる最後のことは、複数のSSHエージェントを実行して負荷を分散することでしたが(おそらく他のシェルで)、これは醜い回避策でもあります。