The Rays announced the deal on Friday, but did not release
details of the contract.
Keppinger, 31, is a career .281 hitter in seven seasons with the New York Mets, Kansas City Royals, Cincinnati Reds, Houston Astros and San Francisco Giants. He became a free agent in December when San Francisco declined to tender him a contract.
Keppinger has made 262 starts at second base, 157 starts at shortstop and 85 starts at third base in the big leagues, so he brings versatility to manager Joe Maddon and the Rays.
Jerry Crasnick is a senior baseball writer for ESPN.com. Information from The Associated Press was used in this report.