ssh-agent失败时ssh-add

时间:2015-06-30 15:04:46

标签: ssh keychain ssh-agent

我正在尝试编写一个可以轻松使用{ssh,gpg} -agents的脚本(比如keychain,但我发现它太晚了)。此脚本将在敏感环境中运行,因此我设置了超时,以便在一段时间后从代理中删除密钥。

我设法编写了spawn / reuse部分但是现在,我希望当用户打开ssh连接时,如果代理没有正确的密钥,则会自动调用ssh-add。

有没有办法让ssh-agent调用ssh-add失败或更好的东西?

1 个答案:

答案 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确保密钥仅在限制时间内启用。