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 qualquer máquina, então estou assumindo bash
para ambos.
Se você quiser executá-lo na máquina remota, consulte ~/.bash_logout
, que é executado quando um shell de login efetua logout normalmente. De man bash
:
When a login shell exits, bash reads and executes commands from the file
~/.bash_logout
, if it exists.
Você pode fazer um teste em ~/.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ê quiser executá-lo na máquina local, crie um wrapper de função em torno de ssh
. Algo como o seguinte deve funcionar:
ssh() {
if command ssh "$@"; then
# commands go here
fi
}
Isso pode ser simples demais para suas necessidades, mas você tem a ideia.