Como limpar chaves SSH do script executado como root?

2

Eu quero configurar meu laptop para limpar todas as minhas chaves SSH do agente de autenticação quando eu fechar a tampa do meu laptop.

Limpar as chaves pode ser feito executando ssh-add -D . A execução de um script ao fechar a tampa pode ser obtida adicionando o script a /etc/pm/sleep.d/ .

No entanto, quando eu adiciono o comando su work -c "ssh-add -D" a um script no diretório, recebo a mensagem de erro:

Could not open a connection to your authentication agent.

Como o comando pode ser executado corretamente a partir de um script que está sendo executado como root?

    
por Sampo 03.02.2016 / 11:26

1 resposta

2

Você precisa de SSH_AUTH_SOCK no ambiente do seu script. Isso pode ser feito executando

declare -p SSH_AUTH_SOCK >~/.ssh-env

como parte do seu processo de login. O script precisa então fornecer esse arquivo antes de executar ssh-add :

. ~/.ssh-env
    
por 03.02.2016 / 11:51

Tags