Italian interior ministry sources say the decision to allow the two ships to dock was based on the poor weather and risks faced by those on board.
Italy, which has vowed a tough line on immigration, took in more than 500 refugees as two charity rescue ships were allowed to dock at ports in the south after several days at sea in bad weather.
The Geo Barents ship, operated by the Doctors Without Borders (Medecins Sans Frontieres, or MSF) charity and which had 248 refugees on board, arrived in Salerno in the southwestern region of Campania on Sunday, MSF said.
On the other side of the country, the Humanity 1, another rescue vessel run by the charity SOS Humanity, docked in the port city of Bari after the Italian authorities agreed to grant it permission.
The journey was extremely tough and the ship faced 3-metre (10-foot) high waves and strong winds, SOS Humanity said in a tweet, confirming its arrival with 261 refugees on board.
How to respond to requests for help from the charity boats that pick up migrants and refugees in the Mediterranean is a challenge for Italy’s new right-wing government led by Prime Minister Giorgia Meloni.
Change of policy?
Tensions flared with neighbour France last month after the French took in a boat that had been turned away by Italy.
Italian interior ministry sources said the decision to allow the two ships to dock was based on the poor weather conditions and the risks faced by those on board, rather than representing a change of policy.
It accuses the charity ships of making it easier for economic migrants to reach Italy and playing into the hands of people traffickers.
The ministry was working on new regulations to protect Italy’s borders and halt the people smugglers, the sources said.
A 14-year-old boy, who was travelling alone, was airlifted from the Geo Barents to Sicily after suffering acute abdominal pain, MSF said on Friday.
On Wednesday, a baby was born on the same vessel and later flown with his mother and three siblings to Italy.