Answers:
欢迎来到OS X钥匙串和ssh-agent的美好世界!从手册页:
ssh-agent是一个程序,用于保存用于公钥身份验证的私钥(RSA,DSA,ECDSA)。这个想法是ssh-agent在X会话或登录会话的开始时启动,而所有其他窗口或程序都作为ssh-agent程序的客户端启动。通过使用环境变量变量,当使用ssh(1)登录到其他计算机时,可以定位代理并自动将其用于身份验证。
您的私钥已缓存在代理中,并已从那里获取以认证您的会话。OS X通过“钥匙串”为您执行自动ssh-agent缓存,因为它“用户友好”。这可能有点令人震惊,但是发生这种情况通常是一件方便的事情。
缓存密钥的默认生存时间是永远。这可能不是一个很好的默认值。它将在注销/登录周期或重新启动时刷新缓存的密钥。或者,您可以使用以下方法杀死当前代理来强制执行刷新操作:
ssh-add -D
您可以通过运行以下命令列出代理程序缓存的所有凭据:
ssh-add -l
这样做相同,但显示完整的公共密钥:
ssh-add -L