Nato's secretary general has said corrupt and inefficient government in Afghanistan is as much to blame as insurgents for the chronic instability.
In the Washington Post newspaper, Jaap de Hoop Scheffer said the international community had paid enough, in blood and money, to demand government action.
He said Afghans needed a government that deserved their loyalty and trust.
An Afghan government spokesman conceded corruption was a problem, calling for a "shared approach" in tackling it.
"Nobody I know wants to see the Taliban back in power," a Kabul inhabitant says – "but people hate Hamid Karzai and his deeply corrupted government. The parliament and the government are useless and don't care about our security. With so many internally displaced refugees pouring into Kabul from the countryside, there's mass unemployment – but of course, there are no statistics.”
Jaap de Hoop Scheffer's comments, in an opinion piece for the US newspaper, were an unusually strong expression of Nato's dissatisfaction with the government of Afghan President Hamid Karzai, correspondents say. "The basic problem in Afghanistan is not too much Taliban; it's too little good governance," Mr de Hoop Scheffer wrote.
"Afghans need a government that deserves their loyalty and trust; when they have it, the oxygen will be sucked away from the insurgency."
2009 is an important year for Hamid Karzai and his government, with a presidential election scheduled for later in the year.
An Afghan foreign ministry spokesman, Sultan Ahmad Baheen, said the government was committed to trying to eliminate corruption.
"The corruption is not just within the Afghan government, but also within non-governmental organisations and should be eliminated with a shared approach."
He accused Nato member countries with a presence in Afghanistan of questionable policies - supporting "their own favourite warlords".
The US and its allies ousted the Taliban regime in 2001.
There are now about 70,000 mainly Western troops pursuing a "war on terror" - including some 28,000 Nato forces from 40 countries.