No se especifica en la pregunta si desea que esto se ejecute en la máquina local o remota. Tampoco se especifica qué shell está presente en ninguna de las máquinas, por lo que supongo bash
que ambas.
Si desea ejecutarlo en la máquina remota, mire ~/.bash_logout
, que se ejecuta cuando un shell de inicio de sesión se cierra correctamente. De man bash
:
Cuando sale un shell de inicio de sesión, bash lee y ejecuta comandos del archivo ~/.bash_logout
, si existe.
Puede hacer una prueba ~/.bash_logout
para verificar si el shell que está cerrando sesión es una sesión SSH, algo como lo siguiente debería funcionar:
if [[ $SSH_CLIENT || $SSH_CONNECTION || $SSH_TTY ]]; then
# commands go here
fi
Si desea ejecutarlo en la máquina local, cree un contenedor de funciones ssh
. Algo como lo siguiente debería funcionar:
ssh() {
if command ssh "$@"; then
# commands go here
fi
}
Eso puede ser demasiado simple para sus necesidades, pero se entiende la idea.