Você está usando aspas simples em torno do comando ssh . Dessa forma, as variáveis $TARGET_DIR e $filename são consideradas literalmente em vez de serem avaliadas. Altere as aspas simples para aspas duplas para que as variáveis sejam avaliadas:
ssh $REMOTE_MC "digest -a md5 $TARGET_DIR/$filename" > $HOME_DIR/remote_hash_$datetag.txt
Outra sugestão é escrever as variáveis como ${variable} como ${datetag} para tornar os limites de nome da variável mais claros.