Seu problema está aqui:
ssh $machine ls -la && exit
Seu script ssh
s para a máquina remota que executa seu ls
. ssh
sai com sucesso, &&
vê isso e executa o próximo comando que é exit
, então seu script sai!
Você não precisa do && exit
. Quando ls
terminar, a conexão será fechada e ssh
será concluído. Apenas remova esse bit e você será de ouro.