Speaking to 200 students and faculty at Herat University, Eikenberry never used Karzai's name, but referred to remarks the president has made in recent weeks, The New York Times reported.
"When we hear ourselves being called occupiers and worse, and our generous aid programs dismissed as totally ineffective and the source of all corruption, our pride is offended and we begin to lose our inspiration to carry on," the ambassador said.
Last month, Karzai referred to "occupation" when he denounced a NATO attack that killed civilians.
"If they continue their attacks on our houses, then their presence will change from a force that is fighting against terrorism to a force that is fighting against the people of Afghanistan," Karzai said at the time. "And in that case, history shows what Afghans do with trespassers and with occupiers."
Eikenberry closed his speech with a reminder of the high toll the United States and its allies were paying by fighting Taliban and al-Qaida insurgents in Afghanistan.
"Mothers and fathers of fallen soldiers, spouses of soldiers who have lost arms and legs, children of those who lost their lives in your country -- they ask themselves about the meaning of their loved one's sacrifice," he said. "When I hear some of your leaders call us occupiers, I cannot look these mourning parents, spouses and children in the eye and give them a comforting reply."