У меня есть закрытый ключ SSH, который я использую для аутентификации, который хранится в ~ / .ssh / id_rsa . Когда я захожу на сервер по ssh, мне предлагается ввести пароль для разблокировки ключа:
Мне это нравится. Мне также нравится, что я могу ssh снова и снова, и он не запрашивает мой пароль.
Что мне не нравится, так это то, что я не обязан вводить свой ключевой пароль через несколько дней или даже недель. Я могу заблокировать экран или перевести его в режим сна, и мне все равно не нужно вводить пароль. Единственный раз, когда кажется, что срок действия пароля истекает, когда я выхожу из системы (что я делаю редко).
Как я могу получить срок действия пароля ключа через некоторое время, заставляя меня ввести свой пароль еще раз для аутентификации? Делаем так, чтобы, возможно, через 1 час ключ автоматически забывался.
источник
Примечание : в более новых версиях OS X вы должны отключить защиту целостности системы, чтобы этот ответ работал. (Спасибо @Dave Gregory и @Jaap за указание на это.)
Открыть
/System/Library/LaunchAgents/com.openssh.ssh-agent.plist
(в более старых версиях:)org.openbsd.ssh-agent.plist
в текстовом редакторе. Заменить:с:
Срок действия ключа истечет через 30 минут.
Перезагрузка. Подожди, перезагрузись?!? Это не Windows! Да, перезагрузись.
Ну, вы можете попытаться расшифровать инструкции по изменению настроек на лету , но удачи.
источник
Вам нужно установить жизнь ключа. Обычно по умолчанию это навсегда.
При запуске
ssh-add
вы хотите использовать эту-t
опцию. Если вы хотите ключевую жизнь одного часа, то это такssh-add -t 1h
. Форматы времени можно увидеть наsshd_config
странице руководства, но проще говоря, это число, за которым следуют s, m, h, d или w в течение секунд, минут, часов, дней или недель.ssh-add
может быть помещен в ваш файл .bashrc, и он просто попросит вас подтвердить ключ один раз. Даже когда ключ «истекает», он не удаляется - он просто снова запрашивает фразу-пароль, когда делается попытка его использовать.Другой вариант - изменить параметры запуска, для
ssh-agent
которых они хранятся,/System/Library/LaunchAgents/org.openbsd.ssh-agent.plist
и добавить-t
туда. (Я используюLaunchControl
для их изменения, но вы можете сделать это вручную, если вы будете осторожны.)источник
ssh-add
вручную, прежде чем запускатьssh
каждый раз. Это интересно, но я действительно ищу что-то автоматическое.org.openbsd.ssh-agent.plist
решениеДругое решение:
С этим решением вам не нужно выбирать тайм-аут для всей вашей цепочки для ключей - довольно неприятно, когда вы хотите установить тайм-аут на несколько секунд для записи пароля вашего личного ключа - и вам не нужно отключать свой SIP для редактирования / System / Библиотека / LaunchAgents / org.openbsd.ssh-agent.plist.
источник