Как очистить ключи SSH от скрипта от root?

Я хочу настроить свой ноутбук, чтобы очистить все мои SSH-ключи от агента аутентификации, когда я закрываю крышку своего ноутбука.

Очистить ключи можно, выполнив ssh-add -D . Запуск скрипта при закрытии крышки можно выполнить, добавив скрипт в /etc/pm/sleep.d/ .

Однако, когда я добавляю команду su work -c "ssh-add -D" в скрипт в каталоге, я получаю сообщение об ошибке:

 Could not open a connection to your authentication agent. 

Как можно правильно запустить команду из сценария, выполняемого с правами root?

One Solution collect form web for “Как очистить ключи SSH от скрипта от root?”

Вам нужно SSH_AUTH_SOCK в среде вашего скрипта. Это можно сделать, выполнив

 declare -p SSH_AUTH_SOCK >~/.ssh-env 

как часть вашего процесса входа в систему. Затем сценарий должен передать этот файл, прежде чем он выполнит ssh-add :

 . ~/.ssh-env 
  • ssh-agent: как сохранить ключ входа и добавить больше идентификаторов?
  • Решение для закрытых ключей на удаленной машине?
  • Не удалось открыть соединение с вашим агентом аутентификации
  • Пароль SSH запрашивается, когда в Tmux
  • Как запустить и использовать ssh-agent в качестве службы systemd?
  • Как включить обмен ключами diffie-hellman-group1-sha1 на Debian 8.0?
  • Как НЕ использовать ksshaskpass с ssh
  • Как загружаются SSH-ключи, на которые ссылается имя?
  • Использовать git pull через команду ssh invoke
  • Почему собственность группы ssh-agent не является root
  • Как отключить ssh-agent?
  • Если ssh-add будет тихим, если ключ уже есть
  • Linux и Unix - лучшая ОС в мире.