It's all about catching them in the act and quickly telling them no in a loud, harsh voice. Can't yell at them if you didn't catch them getting up on it though... have to catch them in the act. You can set them up and tell them 'off' or something as they attempt to get on the couch. You can use a loud noise maker too, if you are so inclined, or a water bottle to spray them with. Just be sure to NEVER allow them on the couch with you.
If you mess up (you weren't watching and they got up there without you noticing), just make the dog get off using calm voice, and let it pass. And try not to slip up next time.
When you are training, probably a good idea to buy the dog a dog bed and lead it over there, say 'on your bed' or something. Give it a treat when it listens, etc. (Positive feedback for using the dog bed).
It'll take a while but if you are consistent then they'll learn. We let our dog on the furniture when she was younger and it became a problem. We were careful and consistent to change that, and she doesn't get up on anything now.
If you are going to be out and can't watch them, you can also buy/use dog crate (of appropriate size) and keep them in there when you aren't going to be around. IMO, you shouldn't leave them in there all day alone, etc. But some people do, and some dogs don't seem to mind--if they feel like it's their den. Or you can buy a baby gate from Babies RUS or someplace that fastens to the wall with hinges, or some of the other suggestions, but, training is the best bet.