【发布时间】:2015-10-26 05:18:38
【问题描述】:
我正在尝试编写一个轻松使用 {ssh,gpg}-agents 的脚本(例如钥匙串,但我发现它为时已晚)。该脚本将在敏感环境中运行,因此我设置了一个超时时间,以便在一段时间后从代理中删除密钥。
我设法编写了 spawn/reuse 部分,但现在,如果代理没有正确的密钥,我希望在用户打开 ssh 连接时自动调用 ssh-add。
有什么方法可以让 ssh-agent 在失败时调用 ssh-add 或更好的方法?
【问题讨论】:
我正在尝试编写一个轻松使用 {ssh,gpg}-agents 的脚本(例如钥匙串,但我发现它为时已晚)。该脚本将在敏感环境中运行,因此我设置了一个超时时间,以便在一段时间后从代理中删除密钥。
我设法编写了 spawn/reuse 部分,但现在,如果代理没有正确的密钥,我希望在用户打开 ssh 连接时自动调用 ssh-add。
有什么方法可以让 ssh-agent 在失败时调用 ssh-add 或更好的方法?
【问题讨论】:
我在做什么(假设密钥有一个独特的名称)
我在~/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 确保密钥仅在有限的时间内启用。
【讨论】: