有没有办法可以阻止应用程序使用我的 ssh-agent 密钥?
我开始使用一个使用 ssh 访问远程服务器的应用程序(根据应用程序开发人员的说法,这可能是出于正当理由,但在我看来,这不是一个好理由)。当我启动应用程序的 shell 要求我输入 RSA 密钥密码时,我才发现这一点。前几次我甚至都不知道,因为密钥已经在我的 ssh-agent 中,所以应用程序悄悄地使用它并在我不知情的情况下在我的远程服务器上运行命令。
我不希望该应用程序背着我使用我的 ssh 密钥。下载和运行应用程序会给我带来一定的风险,但除了这种风险之外,我还采取了额外的隐私和安全预防措施,例如使用 ssh 密码。ssh-agent 似乎删除了 RSA 密码安全性,因此密码仅在我未登录时保护我。
答案1
ssh-add
有一个开关-c
,使得添加的键在使用前需要确认。来自 man ssh-add
:
-C 表示添加的身份在用于身份验证之前应经过确认。确认由 执行
ssh-askpass(1)
。成功确认由 的零退出状态表示ssh-askpass(1)
,而不是输入请求者的文本。
它应该可以满足你的需要。