Personally id make him wear the harness and let him get used to it. moto hated his first up but after a week or so he decided not to pay much heed.
He still doesnt volunteer to be harnessed up though, I have to persuade him but he doesnt resist much. Once its on though hes happy as larry and doesnt bother at all. Also in my experience dogs do pull much less when you have a harness and its much better for leash control.
Also use a short leash for training so the dog has no option but to walk to feet. As the other posters said, constant voice communication, praise, rewards, reminding and reinforcing will bring good results.
Generally it takes time but since walking puppy is something you do a lot of, time for leash training is not something you are short on!!
Also at his age I would have him off the leash regularly when in parks and open areas if your laws allow for it. The reaso for this is recall and voice control are much easier to teach at that age because the pups natural fear will keep him most of the time glued very close to you. By the time he develops the confidence to go longer range you have had a few months of off the leash voicework and the pup is very responsive. For me this is the biggest error many dog owners make, keeping their dog leashed until 6 months or older and then trying to let them off and control them when out and about. At that age hes brave and bold and will quite happily run you ragged if you havent got them used to voice control.
You will find that as he gets good off the lead he will improve dramatically on the lead also as you talk to him or her.
By 6-7 months my dogs are for the most part leash free. After that I use the leash only when theres lots of people and kids around, lots of traffic or I dont like the dogs that are around for whatever reason.