My father has a shop and cleans and lines gas tanks. The first thing to do is get all the old rotten tarnish out and the best way to do that is soap and extremely hot water. Then after the can is free of all old gas contaminants, get a gallon of muratic acid and slosh it arount untill it eats all the rust out(CAUTION!!! muratic acid can burn you and if left in the tank too long will eat a hole through the tank! So wear proper PPE)
After cleaning w/ the acid, rinse again with water. After it is well rinsed dry it well w/ a rag on a wire or stick and then run a hose with air blowing in it(using a regulator with a low volume of air so you don't turn the tank inside out) to dry the rest of the way.
Next step is to line the tank because if you do not it will surface rust right away and will eventualy get bad like before.
I have done many tanks this way(car,truck,motorcycle) but never gas cans as the work, time and material costs ya, when a new metal gas can only runs about $60 and the liner we use is about $350 for a gallon. Granted it dosen't take much to coat a tank it seems like a lot of trouble to me.
Good luck either way.
Eric