Soaking your stainless steel water bottle in a mixture of vinegar, lime juice, and water is a good method to help eliminate odors. You can soak it for about 30 minutes to 1 hour. After soaking, scrub the inside with a bottle brush, if you have one, to remove any remaining residue.
Afterward, rinse the bottle thoroughly with warm water to remove any remaining vinegar and lime juice. You can also let it air dry with the cap off to ensure that no moisture remains inside, which can lead to odors returning. If the odor persists, you may want to repeat the process or try using baking soda mixed with water as an alternative cleaning solution.