Ukraine will not allow Russian men aged 16-60 into the country following the imposition of martial law, Kiev says.
An exception would be made for “humanitarian cases” such as those travelling to funerals.
Martial law has been imposed in 10 regions – mainly those bordering Russia – until 26 December.
The move came amid fears of a Russian invasion after Russian forces seized three Ukrainian vessels and 24 sailors in the Black Sea last Sunday.
Ukraine said the incident was a flagrant violation of international law, while Russia says the vessels violated its territorial waters.
It is the most dangerous clash at sea off Crimea since Russia annexed the Ukrainian peninsula in March 2014.
What did Ukraine say?
The restrictions were announced after President Petro Poroshenko met the country’s top security officials in Kiev.
The president tweeted (in Ukrainian) that the ban was designed to prevent the formation of “private armies” in Ukraine.
He was referring to Russian-backed separatists who formed units in April 2014 to fight Ukrainian government forces in eastern Ukraine.
Mr Poroshenko also said registration criteria would be tightened for Russian citizens in the regions under martial law.
he BBC’s Jonah Fisher in Kiev says the ban could have a devastating impact on cross-border travel as the holiday period approaches and could trigger reciprocal measures from Russia.