Tente executar o script remotamente em segundo plano redirecionando std out e std err para um arquivo de log. Para que seu shell retorne (ou seja, "não fique bloqueado por muito tempo enquanto o script é executado"), você precisará usar o nohup e redirecionar todos os canais: StdOut, StdIn, StdErr. Por exemplo:
ssh jeff@remoteserver 'nohup make_dir.sh >> /tmp/log_file 2>&1 </dev/null &'
O comando acima fará o login no servidor remoto e executará make_dir.sh em segundo plano ao redirecionar StdOut e StdErr para / tmp / log_file. O StdIn é redirecionado de / dev / null. Caso contrário, o ssh será interrompido até que o script seja concluído.
Você mencionou que o roteiro leva um longo tempo para ser concluído. executar o script desta maneira deve permitir que você faça o login novamente e examine o que está acontecendo.