Kiir signed the agreement in Juba, South Sudan's capital, in a ceremony witnessed by regional leaders. Kiir said he was signing the document despite having serious reservations. He signed the same agreement endorsed last week in Ethiopia by rebel leader Riek Machar, said Kiir's spokesman Ateny Wek Ateny.
Machar, the former deputy president, signed the agreement last week in Ethiopia but Kiir refused, saying he needed more time, drawing condemnation from diplomats who want a quick agreement to end the violence in the world's newest country.
Signing the agreement today, Kiir said he felt the peace deal had been imposed on him and said the agreement is flawed. Kiir said some aspects of the deal "are not in the interest of just and lasting peace ... We had only one of the two options, option of an imposed peace or the option of a continued war ... We are here talking about peace."
He accused rebels of attacking positions held by government troops in two areas in the volatile state of Unity today.
The deal calls for the establishment of a coalition government within 90 days. Previous ceasefires have been quickly broken, however, with both sides accusing the other for truce violations.
Thousands of South Sudanese have been killed in the fighting and more than 1.6 million people have been displaced. Atrocities have occurred in which young girls have been raped and burned alive, said the UN.