Lots of dogs appear to be aggressive when they are on the lead, it’s not aggression it’s fear.
When dogs are loose they never walk towards another dog, they both curve it's a natural instinct. Let your dog follow its natural instinct and avoid walking towards another dog or allowing him to get too close when he is restricted by the lead...
If your dog is frightened don't add to his fear by acknowledging this in any way. Try not to pull on the lead or rebuke him.
Get some tasty treats and do some training in the garden/yard, get him to do things like sit, stay, down or come. When your dog does what he is told make a daft excitable sound followed IMMEDIATELY BY A TREAT, always make the same sound. (Clicker training would help enormously instead of making an excitable sound)
Eventually your dog will associate this sound with good behaviour, when you are sure that he does and he looks at another dog from a distance and does not pull, make your daft excitable sound and give him a treat, however if he shows any signs of fear ignore this. Nevertheless you must always either curve or cross the road.
I suspect that your dog would be friendly with other dogs if it was loose in a fenced area. Some behaviorist's have a friendly dog and they will allow it to play with your dog to access its behaviour.