Я иногда использую ssh
для подключения к удаленной машине. После того, как я ввожу фразу-пароль один раз, я могу снова использовать ssh
без нее, но даже если я вернусь через некоторое время, она все равно не спросит меня, потому что ключ кэшируется. Я могу сделать ssh-add -D
, чтобы удалить ключ из кэша, но я хочу, чтобы это происходило автоматически, скажем, через 1 час. Как я могу это сделать?
Программа, которая кеширует ваши ssh-ключи, является программой ssh-agent. Если вы посмотрите на страницу руководства, вы увидите следующую опцию:
-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. для создания пакета или по электронной почте.
К сожалению, выбранный ответ кажется недействительным (больше): брелок GNOME не поддерживает параметр времени жизни из-за ошибки 525574 . Обходной путь - например, отключить GNOME Keyring для ключей SSH , но тогда вам придется вручную ssh-add -t 60m
ключ при использовании (или сценарий).
Вы можете добавить для этого задание cron.