The 330 Marines, to be stationed on rotation around 1,000 kilometres from the Russian border, will be engaged in training and manoeuvres in almost Arctic conditions, the Norwegian defence ministry said.
The announcement comes against a backdrop of increasing tensions between Russia and the West over Ukraine and the conflict in Syria, although Norway itself enjoys good relations with its giant neighbour.
The US already has vast amounts of military equipment positioned in Nato ally Norway -- notably in tunnels dug into mountains -- but no troops.
"This US-initiative is welcome and also fits well within ongoing processes in Nato to increase exercises, training and interoperability within the Alliance," Norwegian Defence Minister Ine Eriksen Soreide said in the statement.
"The defence of Norway is dependent on allied reinforcements, and it is crucial for Norwegian security that our allies come here to gain knowledge of how to operate in Norway and with Norwegian forces," she added.
Before joining Nato in 1949, Norway allayed Russian fears by pledging not to open its territory to foreign combat troops so long as Norway was not attacked or threatened with attack.
This pledge was later amended to allow foreign troops to conduct manoeuvres in Norway.
The deployment, which will begin in January, is a US initiative which Oslo is presenting as a trial to be evaluated during 2017.
Last week the Russian embassy in Oslo expressed surprise as the idea of stationing US troops in Norway was mooted.
"Taking into account multiple statements made by Norwegian officials about the absence of threat from Russia to Norway, we would like to understand why Norway is so much willing to increase its military potential, in particular through the stationing of American forces in Vaernes," embassy spokesman Maxime Gourov said in an email sent to AFP on Friday.
Former senior Norwegian army officer Jacob Borresen said the planned deployment "sends negative signals eastwards".
The big risk, he told broadcaster NRK, is that the move creates a Cold War-style "confrontation zone".
In July, Nato announced it would deploy, also on a rotational basis, four multinational battalions to Poland and to Baltic states to deter any Russian incursion.