Ukraine will not allow Russian men aged 16-60 into the country during martial law, the head of the State Border Service has said.
An exception would be made for “humanitarian cases” such as those travelling to funerals, he said.
Martial law has been imposed in 10 regions bordering Russia for a month.
The move came amid fears of a Russian invasion after Russian forces seized three Ukrainian vessels and 24 sailors in the Black Sea at the weekend.
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.
Russian-backed separatists have also been fighting Ukrainian government forces in eastern Ukraine since April 2014.
The 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.