Desculpe, esta é uma resposta muito tardia, e você já deve ter encontrado essa solução, mas aqui é como isso pode ser feito usando o mecanismo launchctl do OS X.
Eu não acho que ele tenha bastante razão; você usaria a chave "KeepAlive" (com um valor "true") em vez do par de chave / valor "OnDemand / false" obsoleto. Além disso, eu não sei por que ele está encaminhando para a porta idêntica no host remoto (1666) como vs 22. Ainda assim - você começa a idéia. Eu tenho o meu up & correndo ok para o nosso servidor web. Muito mais elegante que um loop infinito.
Ah, e em vez de Lingon que ele menciona, você pode usar o maravilhoso LaunchControl para configurá-lo, modificá-lo e monitorá-lo. Se você não está familiarizado com o launchctl, sugiro ler o manual no programa ou no site para entender o que está acontecendo. Desculpe - eu teria ligado ao primer, mas não construí o suficiente de um representante: /