De acordo com o #upstart, os scripts do upstart não podem interferir em outros serviços, como o sshd.
Aparentemente, meus runlevels estavam errados. Eu mudei para o seguinte, e tudo começou a funcionar normalmente:
start on runlevel [2345]
stop on runlevel [016]