使我的ssh密钥自动过期


9

我有时会ssh用来连接到远程计算机。一次输入密码后,ssh无需密码即可再次使用,但是即使我很长一段时间后回来,它也不会询问我,因为密钥已被缓存。我可以ssh-add -D从缓存中删除密钥,但是我希望该操作在1小时后自动发生。我怎样才能做到这一点?

Answers:


11

缓存ssh密钥的程序是ssh-agent程序,如果查看手册页,您会看到以下relivent选项:

-t life  Set a default value for the maximum lifetime of identities added
         to the agent.  The lifetime may be specified in seconds or in a
         time format specified in sshd_config(5).  A lifetime specified
         for an identity with ssh-add(1) overrides this value.  Without
         this option the default maximum lifetime is forever.

您可以在启动程序中编辑ssh-agent程序。转到System > Preferences > Startup Programs,查找SSH Key Agent并追加-t 3600到逗号。这将在一小时内使您的密钥过期。

替代文字

您将需要重新启动会话(注销并重新登录)以使其生效。您还可以对gpg密钥执行类似的操作,也可以在代理程序中进行设置,该代理程序可以以相同的方式启动(但默认情况下未安装),以防万一您厌倦了键入gpg密码用于打包程序或通过电子邮件发送。



0

您可以为此添加cron作业。


您能否扩展此答案以说明如何?(而且,如果可能的话,鉴于可以设置自到期密钥,为什么要选择这样做)?
伊利亚·卡根
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.