The Denver Post reported that Harris' deal is worth $3.9 million.
The Steelers evaluated several tackles in free agency, including Seattle's Russell Okung and San Diego's Chris Hairston.
Harris, 31, has started 70 games in eight NFL seasons, including a full slate in 2015 as the Broncos made their Super Bowl run.
The arrival of Harris ultimately spelled the end of Kelvin Beachum in Pittsburgh. Shortly after the Steelers announced their signing of Harris, Beachum agreed to a deal with Jacksonville, a source told ESPN's Adam Schefter.
Beachum, a free agent who is making visits to different teams, started three years for Pittsburgh but tore his ACL in Week 7. The Steelers negotiated with Beachum before the 2015 season but couldn't reach an agreement.
Harris provides experience and the ability to swing from both tackle spots. The Steelers are high on 6-foot-9 tackle Alejandro Villanueva, who acquitted himself well in 11 starts in relief of Beachum. Villanueva could very well be the Steelers' Week 1 starter in 2016.
The Steelers maintained a top-10 offensive line last season despite season-ending injuries to Beachum and Pro Bowl center Maurkice Pouncey.