如何从以 root 身份运行的脚本中清除 SSH 密钥?

如何从以 root 身份运行的脚本中清除 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

相关内容