Периодически блокировать ключи SSH при входе в систему

Я ежедневно использую ssh для входа на пару серверов, которыми я управляю, и для входа использую ключ ssh. Поскольку я сгенерировал свой ключ ssh с паролем, при первом использовании ssh за день мне предлагается ввести пароль. Я хочу, чтобы это периодически блокировалось снова в течение дня, чтобы кто-то, получающий доступ к моему ноутбуку, когда он включен, не обязательно получал доступ к серверам. Я не могу найти вариант для этого, и я также не могу найти команду для блокировки ключа. Если есть такая команда, я мог бы добавить ее в crontab.

Вероятно, лучший вариант - просто не использовать ssh-клавишу.

0
задан 20 June 2019 в 11:45

2 ответа

Вы можете просто написать строку в своем файле $HOME/.bash_logout, которая перемещает ваш SSH-ключ из вашего каталога ~/.ssh/ в другой каталог? Затем сделайте обратное в $HOME/.bash_login.

См. Этот пост о том, как сделать это с помощью systemd.

0
ответ дан 20 June 2019 в 11:45

Возможно, у вас запущена программа под названием ssh-agent. Когда вы ssh обращаетесь к другому хосту, команда ssh связывается с этим ssh-agent для сохранения ключей и их парольных фраз.

По умолчанию ssh-agent запоминает парольные фразы навсегда (до выхода из системы), поэтому вам нужно вводить их только один раз для каждой клавиши.

Команда ssh-add используется для управления списком идентификаторов, о которых ssh-agent знает.

Чтобы показать список ключей, которые знает ssh-agent, введите

ssh-add -l

. Чтобы сделать это , забудьте ваши ключи и пароли, введите

ssh-add -D

. Когда вы затем ssh зайдете на какой-нибудь хост, вам снова будет предложено ввести ключевую фразу.

Можно также указать время жизни для ключевой фразы:

ssh-add -t 3600     # 1 hour

, но это не сработало для меня (или я сделал что-то не так). Я бы установил cronjob, который делает ssh-add -D каждые N часов. Это может быть немного сложно, потому что ssh-add нужна переменная окружения SSH_AUTH_SOCK для связи с ssh-agent, и эта переменная предположительно не установлена ​​в cron.

Но, как указано в комментарии, вы не должны оставлять свой ноутбук без присмотра, пока вы в отъезде, а вместо этого заблокировать его.

0
ответ дан 20 June 2019 в 11:45

Другие вопросы по тегам:

Похожие вопросы: