类似于 sudo 的 ssh 实用程序,或者至少是 git?

类似于 sudo 的 ssh 实用程序,或者至少是 git?

我希望保证密钥的安全,但又不想在每次git调用时都输入密码,因为我想快速连续运行多个命令。我对此进行了研究,发现 ssh-agent/keychain/etc. 在便利性和安全性方面做得过分了,不符合我的喜好。类似这样的方法xyz git pull就很完美了,xyz 检查我的密钥是否已解密,如果没有解密 - 要求我输入密码,然后在 N 分钟内不调用 xyz 后,它会忘记解密的值。就像 sudo 一样。这存在吗/可以通过一些巧妙的方法实现吗?

对此有一个类似的问题,但我们的用例有所不同。

答案1

这正是ssh-agent所做的。

其中 xyz 检查我的密钥是否已解密,如果未解密 - 则询问我的密码

你不需要任何xyz。只需ssh-agent从会话开始时开始(例如在 中~/.bashrc):

[ -z "$SSH_AUTH_SOCK" ] && eval $(ssh-agent -t 5m)

ssh通过设置将您的客户端配置为在首次使用密钥时添加密钥

AddKeysToAgent yes

在你的~/.ssh/config

然后在不调用 xyz N 分钟后,它会忘记解密的值。

这就是-t开关的ssh-agent作用。设置添加的键的默认超时(在上面的示例中为 5 分钟)。

相关内容