Murray, 33, had a goal and two assists in 14 games for the Pittsburgh Penguins last season after being acquired from the San Jose Sharks (three assists in 29 games). He had two goals and an assist in 15 games during the Stanley Cup Playoffs for the Penguins.
"Douglas Murray is an experienced defenseman with good size and is an seasoned veteran. He will bring a physical dimension to our team and is a significant addition to our group of defensemen," Canadiens general manager Marc Bergevin said in a statement. "We are happy to have him join our organization for the upcoming season."
Murray (6-foot-3, 245 pounds) was an unrestricted free agent. In 465 NHL games, he has seven goals, 55 assists and 370 penalty minutes.
The addition of Murray will help mitigate the loss of Alexei Emelin, who is expected to be out until at least late November as he continues his recovery from surgery on the ACL in his left knee.