The deal only affects forces facing each other in the Luhansk region.
Separate ceasefire talks are under way in Ukraine's neighbouring Donetsk region.
Heavy fighting has raged at the Donetsk airport in the past three days.
A Russian general attended the Luhansk talks, chaired by OSCE observers.
The Organization for Security and Co-operation in Europe has a monitoring mission in eastern Ukraine, where fighting has raged since the rebels seized official buildings in April.
A ceasefire deal agreed on 5 September has been violated repeatedly.
Under the new deal for Luhansk, the sides agreed to withdraw heavy weapons from the line of confrontation on Saturday, 6 December.
But it is not yet clear how wide the demilitarised zone will be.
When asked about the Donetsk talks, Ukrainian military spokesman Olexiy Dmitrashkovskiy said there would be details later on Tuesday, but "a ceasefire agreement has been reached".
Ukraine says Russian special forces were involved in the latest Donetsk fighting, helping the separatists.
The Kremlin has repeatedly denied Ukrainian and Western accusations that it has sent tanks and troops to the war-torn region to help the rebels.
There are some doubts about whether Cossack volunteer units operating on the rebel side will respect the ceasefire terms, the Associated Press news agency reports.
But the OSCE statement said the Luhansk rebel negotiators "insisted that they were in control of all Cossack units and that these units, too, would adhere to this [ceasefire] proposal".
Source: BBC News Europe