ルートとして実行されるスクリプトからSSHキーを消去する方法は?

ルートとして実行されるスクリプトからSSHキーを消去する方法は?

ノートブックカバーが閉じたときに認証エージェントからすべてのSSHキーを消去するようにノートブックを設定したいと思います。

キーストロークはを実行して消去できますssh-add -D。カバーが閉じたときに実行するスクリプトを追加できます/etc/pm/sleep.d/

su work -c "ssh-add -D"ただし、そのコマンドをディレクトリのスクリプトに追加するとエラーが発生します。

Could not open a connection to your authentication agent.

rootとして実行されるスクリプトでこのコマンドを正しく実行するにはどうすればよいですか?

答え1

SSH_AUTH_SOCKスクリプト環境になければなりません。これは以下を実行することで実現できます。

declare -p SSH_AUTH_SOCK >~/.ssh-env

ログインプロセスの一部として。その後、スクリプトは実行する前にファイルをインポートする必要がありますssh-add

. ~/.ssh-env

関連情報