我正在尝试编写一个可以轻松使用{ssh,gpg} -agents的脚本(比如keychain,但我发现它太晚了)。此脚本将在敏感环境中运行,因此我设置了超时,以便在一段时间后从代理中删除密钥。
我设法编写了spawn / reuse部分但是现在,我希望当用户打开ssh连接时,如果代理没有正确的密钥,则会自动调用ssh-add。
有没有办法让ssh-agent调用ssh-add失败或更好的东西?
答案 0 :(得分:0)
我在做什么(假设钥匙有一个与众不同的名字)
我在~/bin/
(我的PATH
)
!/bin/bash
if ! ssh-add -l | grep -q nameOfmyKey
then
ssh-add -t 2h ~/path-to-mykeys/nameOfmyKey.key
fi
ssh myuser@myserver.example.net
ssh -l
列出代理中当前有效的所有密钥。
参数-t
确保密钥仅在限制时间内启用。