I would wager that your dog isn't "pissed off" at you and being aggressive, but is being a normal GSD puppy and disagreeing with what you're telling him to do.
It's a Shepherd thing.
Seriously.
My own GSD does it to me still, and he's 4 years old! It's mostly when I tell him to lay down. He doesn't do it nearly as much as he used to, and his drop on recall is silent 80% of the time now...but 20% he'll still bark at me, especially when he's in drive.
The barking is the dog's way of saying "Hey! I disagree! I don't wanna!" For my own training purposes, I don't care if they bark and disagree, I just care if they comply. My motto is "You don't have to like it, you just have to do it."
Personally I wouldn't tell your puppy "off" unless you're REALLy sure he knows what it means, which I would guess he doesn't. Instead, just stand there, cross your arms...and wait. When four hit the floor (sitting OR standing, as long as all four feet are down) give him a cookie. He'll figure out right quick that he gets more attention when he's got his paws on the floor than when he's jumping.
Once he connects that, start saying "off" as he falls back down, and praise and reward immediately. The "off" should be in a low, calm, matter-of-fact tone of voice. You don't want any "growly" feedback as it were, and you don't want to yell. It is simply "No, off." Use the same tone of voice when he barks at you. Very quiet and calm with a straight face. "No, quiet," and reward when he has stopped barking.
Does your dog look anything like this when he's "pissed off":
