A sintaxe completa do shell script está disponível para você no comando ssh
. (Os comandos são executados pelo shell padrão da conta remota; estamos assumindo aqui que é sh
-compatible.)
Os comandos Compund precisam ser citados. Embora seu uso de aspas duplas esteja correto, eu recomendaria aspas simples, pois elas protegem todos os caracteres especiais do shell; isso pode ser importante se você quiser usar construções de shell não triviais em seus comandos remotos.
Com isso fora do caminho, aqui está uma maneira de fazer o que você quer:
ssh user@host 'foo && bar || { echo foo failed >&2; baz; }'
Você também pode usar condicionais complexos arbitrariamente:
ssh user@host '
if foo; then
bar
else
echo foo failed >&2
baz
fi'
(Sim, é uma string única de várias linhas dentro de aspas simples.)