Most of the products that can be used to remove the appearance of smoking stains on teeth have some sort of bleaching method. Most of the over the counter teeth whiting products will have pretty much the same ingredients, so if you find one that you like and it doesn’t cause any discomfort you may want to stay with that brand.
However you might also be able to make your own tooth cleaning solution. Baking soda and peroxide when mixed together make a oxygen based cleaning solution, oxygen helps to remove stains. It only takes about a ½ tbsp of peroxide and 1 tbsp of baking soda to make a tooth paste. Using this should help to remove smoking stains, however this past will not have the flavor of the over the counter tooth paste.