Как очистить ключи 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 
  • Случайно исказил кучу имен файлов в / tmp ... ssh-ключи, запрашивающие пароли
  • Удалены мои ключи ssh
  • ssh-agent: не пересылать аутентификацию для всего брелока
  • Как остановить ssh-agent при попытке всех ключей с пересылкой агента?
  • Каков наилучший способ совместного использования сокета аутентификации SSH с другим пользователем?
  • Переадресация Git
  • ssh-agent и таймаут
  • можно ли запускать `ssh-add <key>` только тогда, когда я ssh в поле? (от Cygwin)
  • Как назначить ssh переадресованному агенту над файлом удостоверения?
  • Как ssh-агент автозапущен?
  • «Ssh-add -d» отказался удалить идентификатор
  • Linux и Unix - лучшая ОС в мире.