Como você mesmo executa ./launch_ssh_daemon.sh faz o que você quer que seja feito ... Estou assumindo que:
- O script está em
/etc/init.d/ - O script tem direitos de execução
Minhas recomendações para descobrir o que está errado e tornar seu script mais limpo:
Primeiro, sudo sem argumentos é inútil em um script de inicialização executado normalmente por init.d . Você já é root nesse ambiente (remova sudo )
Eu nunca vi iniciar scripts com .sh ending. Não tenho certeza se isso poderia levar você a problemas (renomeie seu script)
Embora você tenha executado update-rc.d , verifique se há um link simbólico para o script com o formato /etc/rc?.d/S??<script_name> , sendo o primeiro ? o runlevel e o segundo ?? a número (01 - 99) de marcação em que os scripts são executados. Esses links são aqueles obtidos por /etc/init.d/rc depois que o nível de execução foi selecionado para executar todos os scripts de inicialização necessários para esse nível de execução. Se o seu script não estiver vinculado em nenhum lugar, ele nunca será executado na inicialização.
... e é uma boa idéia registrar a saída em algum lugar, apenas para ter certeza do que está acontecendo ao executá-la.