Fehr's deal is worth $6 million US, paying him $2 million US annually.
The signing of the 29-year-old was part of a busy Tuesday for the Penguins, as they also sent centre Brandon Sutter and a 2016 third-round pick to the Canucks for centre Nick Bonino, defenceman Adam Clendending and a second-round pick in 2016.
Fehr contributed 19 goals and 33 points in 75 games played for Washington last season. The native of Winkler, Man. was drafted 18th overall by the Capitals in 2003, and has spent most of his career with the Caps, but also spent time with the Winnipeg Jets during the 2011- 2012 season.
The six-foot-four, 212 pounder has 89 goals and 177 points in 454 career games, along with six points in 37 career playoff games.