A 22-year-old former serviceman was fined £1,000 for two charges of conduct to the prejudice of good order and service discipline, while a 23-year-old serving officer was reduced to the ranks for a racially aggravated offence.
Both men, neither of whom can be named for legal reasons, plead guilty to the abuse at a court martial in Sennelager, Germany.
The former private, referred to as Soldier X to avoid reprisals against him and his family, admitted pulling the hand of an Afghan child towards his crotch while saying 'Touch my special place'.
Dressed in a silver suit and white shirt, he also pleaded guilty to insulting an Afghan boy who he called a "f****** c***".
But he was cleared of disgraceful conduct of an indecent kind and of allegedly forcing an Afghan girl to touch him on a separate occasion.
The officer, Soldier Y, admitted posing in a photograph with an Afghan man who was carrying a racist sign which read "Silly P*ki".
Their patrol commander, Soldier Z, was cleared of failing in his duty to deal with the offences.
The Press Association requested that the anonymity order be lifted but the judge refused, because of the recent brutal murder of Drummer Lee Rigby in Woolwich.
Judge Advocate Large said, according to the Daily Mail: "Very especially in the light of recent events in London and the threat posed by lone wolves it seems to me that it would be wrong to lift the restrictions.
"I accept that it would usually be wrong to make such an order and this should not be seen as an attempt by the military to hide behind the law.
"It was made in response to very specific circumstances and on specific grounds."