Não está especificado na pergunta se você deseja que isso seja executado na máquina local ou remota. Também não está especificado qual shell está presente em nenhuma das máquinas, portanto, estou assumindo as bash
duas.
Se você deseja executá-lo na máquina remota, observe ~/.bash_logout
, que é executado quando um shell de logon efetua logout normalmente. De man bash
:
Quando um shell de login sai, o bash lê e executa comandos do arquivo ~/.bash_logout
, se existir.
Você pode fazer um teste ~/.bash_logout
para verificar se o shell que está sendo desconectado é uma sessão SSH, algo como o seguinte deve funcionar:
if [[ $SSH_CLIENT || $SSH_CONNECTION || $SSH_TTY ]]; then
# commands go here
fi
Se você deseja executá-lo na máquina local, crie um wrapper de função ssh
. Algo como o seguinte deve funcionar:
ssh() {
if command ssh "$@"; then
# commands go here
fi
}
Isso pode ser muito simples para suas necessidades, mas você entendeu.