我在客户端 OSX 10.9.4 中有一个 ssh RSA 密钥。SSH 服务器是 ubuntu。一切正常,但问题是我的 OSX ssh-agent 似乎正在缓存密码。我第一次 ssh 时,系统会询问密码。下次就不会了,我直接登录服务器。
我担心这里的安全问题。如果有人偷了我的计算机,无需输入任何密码即可访问服务器...是的,我仍然有我的 OSX 用户,但仍然如此。
那么您知道 OSX ssh-agent 何时会再次询问吗?
我似乎有同样的疑问:http://www.dribin.org/dave/blog/archives/2007/11/28/securing_ssh_agent/
但我不知道这如何适用于 OSX 10.9.4
提前致谢,
答案1
你可以在添加密钥时设置密钥的生命周期ssh-添加(1):
-t life
Set a maximum lifetime when adding identities to an agent. The
lifetime may be specified in seconds or in a time format speci‐
fied in sshd_config(5).
例如
ssh-add -t 3600 ~/.ssh/id_rsa
将使代理在 1 小时后忘记此密钥。
如果您的密钥被自动加载,您可以尝试找到发生这种情况的位置(.bashrc,.bash_profile,/etc/profile,...)并在那里更改 ssh-add 参数;或者从代理(ssh-add -D
)中删除密钥并重新添加具有上述生命周期的密钥。
或者,如果你希望你的经纪人总是如果在 1 小时后忘记了密钥,您可以按照描述更改服务定义,例如这里.但这似乎并不适合所有人。
[我在此假设您的 OSX 也使用 OpenSSH 作为 SSH 客户端和代理,就像我可以访问的旧 OSX 10.6.8 一样。如果您的 OSX 现在正在使用其他系统,那么这个答案可能不适用]