在多个命令行之间重用 SSH 密钥密码

Reusing SSH key passphrase between multiple command lines

我正在使用 NodeJS 执行多个 git 命令行。更新子模块,提取一些项目等。一切正常,但我遇到了一个不方便的问题。当我执行两个命令行时,像这样

const exec = util.promisify(require('child_process').exec);

await exec('cd my/project/path && git pull');
await exec('cd my/other/project/path && git pull');

我被迫输入我的 SSH 密钥密码两次。我试过 await exec('cd my/project/path && git pull && cd my/other/project/path && git pull'); 但结果是一样的(密码短语被问了两次)。

是否可以使用 ssh-agent 在两个命令行之间保留密码?或者任何其他解决方案?

至少 linux 个环境的解决方案:

const exec = util.promisify(require('child_process').exec);

await exec('ssh-add');
await exec('cd my/project/path && git pull');
await exec('cd my/other/project/path && git pull');