Как очистить ключи 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 и gpg-agent?
  • Зачем оценивать вывод ssh-agent?
  • Подключиться к целевому хосту через промежуточный хост без предварительного обмена ключами
  • Могу ли я установить, как долго ssh-agent хранит ключи в памяти?
  • Использовать конкретный ключ в вызове ssh forwardagent?
  • Как добавить ключ без фразы в ssh-агент?
  • Как НЕ использовать ksshaskpass с ssh
  • Как назначить ssh переадресованному агенту над файлом удостоверения?
  • Перевод флагов GNU ps в стандартные флаги
  • Почему git сохраняет мою SSH-идентификацию в gnome, но не KDE?
  • Может ли ssh (агент) работать с двумя отдельными идентификаторами?
  • Использование lftp с ssh-agent
  • Linux и Unix - лучшая ОС в мире.