Red Cross workers examined the rescued migrants who disembarked in Sicily from the Italian Coast Guard vessel "Diciotti"

An Italian coastguard ship carrying more than 900 migrants was allowed to dock in Sicily Wednesday, after Italy controversially turned away a separate foreign vessel with rescued migrants on board.

The Diciotti ship arrived at the port of Catania and the migrants began to disembark, an AFP photographer saw.

They were saved during several rescue operations off the coast of Libya. An official in the Catania coastguard told AFP there were more than 900 migrants.

Italy's new populist government came under fire Tuesday from its EU neighbours after refusing to let a foreign NGO boat carrying 629 mostly African migrants dock in Italy.

Italy's new far-right interior minister Matteo Salvini has a hardline stance on immigration.

The migrants aboard the Aquarius, run by French NGO SOS Mediterranee, were stuck on the overloaded ship as Italy and Malta bickered over who should take them.

Spain stepped in and said the migrants could land at the port of Valencia. The Aquarius was heading for Spain on Wednesday.

Salvini insisted Tuesday that the country's ports would no longer be open to foreign boats carrying migrants.

He has repeatedly accused charities of working with human traffickers but said Italy would not stop rescuing migrant boats itself.

"We have put a stop to the NGOs. The coastguard and navy can continue to save lives, but other countries need to keep giving us a hand," he said.

On Wednesday Italy summoned the French ambassador after France's President Emmanuel Macron accused Italy of "irresponsibility" over its refusal to let the Aquarius dock.

Speaking to the senate Salvini said "he hoped for an official apology as soon as possible," from France.

"Our history of solidarity, humanity and welcoming spirit does not deserve to be criticised by members of the French government."

Salvini has repeatedly vowed to stem the flow of migrants to Italy, which has seen more than 700,000 arrive on its shores since 2013.

Under EU rules, migrants must apply for asylum in the European country where they first arrive.

That has put pressure on Italy and Greece, the entry points for the hundreds of thousands of people fleeing war and poverty.

Red Cross workers examined the rescued migrants who disembarked in Sicily from the Italian Coast Guard vessel "Diciotti"