我想确保我的密钥安全,git但当我想快速连续运行多个命令时,也不必在每次调用时都输入密码。我研究过这个,发现 ssh-agent/keychain/etc. 根据我的喜好,在方便与安全方面走得太远了。类似的东西xyz git pull会很完美,其中 xyz 检查我的密钥是否已解密,如果没有 - 要求我提供密码,然后在 N 分钟未调用 xyz 后,它会忘记解密的值。就像 sudo 一样。这是否存在/可以通过一些棘手的方式实现吗?
这正是ssh-agent它的作用。
xyz 检查我的密钥是否被解密,如果不是 - 要求我的密码
你不需要任何xyz. 只需ssh-agent在会话开始时开始(例如在 中~/.bashrc):
[ -z "$SSH_AUTH_SOCK" ] && eval $(ssh-agent -t 5m)
Run Code Online (Sandbox Code Playgroud)
并配置您的ssh客户端以通过设置在首次使用时添加密钥
AddKeysToAgent yes
Run Code Online (Sandbox Code Playgroud)
在您的~/.ssh/config.
然后在 N 分钟不调用 xyz 后,它会忘记解密的值。
这就是-tswitch 的ssh-agent作用。为添加的键设置默认超时(在上面的示例中为 5 分钟)。