The one-time England under-21 international spent seven years with Ipswich and had three loan spells at Brighton in 2007 and 2008.
"He's got a lot of experience at a higher level but is still only 26 years old," said Shrews boss Graham Turner.
Richards has been among a number of trialists training with Shrewsbury in recent weeks, and played his first game for them in the recent 2-0 friendly win over a Wolves XI.
The Essex-born player started his career in the Ipswich Academy, and played at various levels for England as a teenager before winning his only under-21 cap in a win against Ukraine in 2004.
Source: BBC Sport
Source: BBC Sport