Existe uma maneira de remover todas as chaves ssh adicionadas ao ssh-agent quando o usuário bloqueia o sistema?

2

Eu tenho um monte de chaves adicionadas ao ssh-agent , chaves para servidores, repositórios, etc.

Existe uma maneira de remover todas as chaves ssh adicionadas ao ssh-agent quando o usuário bloqueia o sistema?

Meu sistema agora é o Ubuntu Desktop 16.04 com o GNOME 3

    
por Starx 01.11.2016 / 13:53

1 resposta

0

Você pode assistir aos eventos no DBUS e no bloqueio chame ssh-add -D para remover todas as chaves do agente:

#!/bin/bash
dbus-monitor --session "type='signal',interface='org.gnome.ScreenSaver'" |
  while read x; do
    case "$x" in 
      *"boolean true"*) echo SCREEN_LOCKED; ssh-add -D;;
      *"boolean false"*) echo SCREEN_UNLOCKED;;  
    esac
  done

Mas você precisa exportar a variável de ambiente SSH_AUTH_SOCK para esse script, para poder acessar seu agente.

Você pode armazenar os itens acima no script clean_lock.sh , definir os bits de execução ( chmod u+x clean_lock.sh ) e executar o script no plano de fundo ./clean_lock.sh & .

    
por Jakuje 01.11.2016 / 14:05