RE: good dog but scared of people!
I myself would try to have a family member that the dog does not like come to your house with a piece of jerky palmed in their fist.
When he becomes aggressive talk to him calmly and coax him to lick the closed hand of the person he does not like.
Dont pressure the dog. Dont be forceful. Just be his friend.
When he licks the fist of the person he does not like have them slowly scratch its chin with their opposite hand and ease their closed fist to touch its head or scratch behind ear...
this shows the dog this person is "above" them and the dog should be subbmissive towards the person.
Immediately have that person feed the jerky to the dog.
If the dog does bite for some reason that person shouldnot lose a finger as long as they keep their fist closed.
But I am a hillbilly Veterinary.
Not a Veterinarian. Maybe call yours. And get their opinion.
Also try to get your Sheperd to play with everyone.
This will slowly build confidence.
Fetch is easiest to get results.
the dog may not bring the ball back to the untrustedbut should retrieve at least.
"Tug'oWar" is best because the "stranger" can pet the poochy while playing.
The dog is only "protecting" its known pack inside it's "Den".
or just being a Sheperd, depending on how you wanna look at it.