Ukraine's president made a surprise trip Monday to a government stronghold in the turbulent southeast, delivering a fiery speech to hundreds of workers in hard hats in a dramatic show of Kiev's strength in the region.

"This city was, is, and will be Ukrainian!" Poroshenko told metal plant workers in the embattled coastal city of Mariupol.

Poroshenko's trip to the strategic port, just days after it faced sustained rebel fire, underscored that Kiev is unlikely to willingly loosen what remains of its grip on Ukraine's rebellious east. It also came as a tenuous cease-fire appeared to be holding Monday between the Russian-backed separatists and Ukrainian troops in eastern Ukraine.

The president spoke from a stage decorated with Ukraine's blue-and-yellow colors after leading the room in singing the national anthem.

"Mariupol proved that we won't let anybody burn our city to the ground. The workers of Mariupol protected peace and calm in the city," he said, emphasizing that in eastern Ukraine "our most important resource is people.

But despite the symbolic display of strength, Poroshenko was often on the defensive in his speech, insisting that he had not agreed to Friday's cease-fire out of weakness. He also reiterated that independence for the separatist region was off the table and that there would be no political negotiations to end the crisis other than with "elected leaders" of the region -- but exactly who those leaders were was left unclear.

Those comments signaled that, even if the truce holds, eastern Ukraine's entrenched political problems are far from being resolved.

The area around Mariupol had remained relatively untouched by violence until the last two weeks, when rebel forces pushed toward the city, shelling its outskirts as recently as Saturday. The port is strategically located on the Sea of Azov, raising fears that if it fell, the rebels could link up mainland Russia with Crimea, the Black Sea peninsula annexed by Russia in March. The move would cost Ukraine another huge chunk of its coastline and all the mineral riches believed to be under the Sea of Azov.

As Poroshenko spoke, the shaky truce that was implemented late Friday appeared to be taking root.

The city council of Donetsk, the largest rebel-held city, said there had been no casualties overnight, and no shelling or explosions were heard in the city. Later Monday, residents reported hearing sporadic explosions. In Luhansk, another rebel-held city hit hard by shelling, the city council reported no fighting for the third night in a row.

Col. Andriy Lysenko, a spokesman for Ukraine's National Security Council, said no serviceman had been killed in the past day. Rebels had stopped using heavy artillery and were only using mortar and rifle fire, he said.

"That's a big achievement," he said.

Still, he told reporters the rebels had violated the cease-fire half a dozen times.

The cease-fire was thrown into peril over the weekend by the shelling of Mariupol and fighting near the Donetsk airport. A previous 10-day truce in June was riddled by violations.

A successful cease-fire would be a landmark achievement in a conflict that has dragged on for nearly five months and claimed at least 3,000 lives, according to a U.N. estimate issued Monday. It has also forced hundreds of thousands to flee their homes.

In the deal signed Friday in the Belarusian capital of Minsk, Ukraine, Russia and the Kremlin-backed separatists agreed to an immediate cease-fire and an exchange of prisoners. But the more entrenched political issues that helped spark the pro-Russian uprising in April -- such as a greater degree of autonomy for the separatist regions -- were left vague.

While Poroshenko told journalists in Mariupol that Ukraine's "territorial integrity" was not a negotiating point, rebel commander Alexander Zakharchenko told the Russian radio station Kommersant FM that he would like to see "an acknowledgment of (our) independence" added to the Minsk protocol.

Poroshenko also emphasized that he would only negotiate with "elected leaders" of the region -- but who exactly that meant was left unclear. While parliamentary elections are slated for October 26, the rebels could easily derail and thereby delegitimize any future vote in the region.

The cease-fire has left Poroshenko on the defensive with the rest of the country, as many politicians rushed to criticize it as treachery. The country's former prime minister and the leader of one of Ukraine's largest political parties, Yulia Tymoshenko, was quoted by the Interfax-Ukraine news agency on Monday as saying the Minsk agreement was "extremely dangerous" because it did not demand that Russian forces leave Ukrainian territory.

During his visit to Mariupol, Poroshenko acknowledged that "some people do not like" the cease-fire deal.

"Yes, we have enough strength to defend both the city and the country," he said. "But everyone wants peace, and that's why I started talks with President (Vladimir) Putin."

Poroshenko emphasized that thousands of prisoners would be released by the rebels -- reason enough for the cease-fire. He later announced that 20 Ukrainian soldiers had just been freed.