I have never used rattle can paint but some do. I use a typical automotive process for metal. Scrap-sand-remove as much rust as possible. First coat is self etch zinc primer, used to be zinc chromate but thanks epa. It’s meant to be sprayed and immediately recoated with a primer but it can be brushed in small areas like engine parts. Be generous with the zinc self etch- a few coats. Next brush on the catalyzed primer- no sand primer preferably but that’s more money. All catalyzed primer is no sand within its open time so to speak but true no sand allows many hours to recoat. Then apply catalyzed top coat. It will be the most durable coating and it won’t yellow like single part paint. For engine room sole and hull sides I wash with spray nine really well, wipe down generously with acetone and while the acetone still has the previous coating soft, I recoat with Fixall brand Everlife Urethane enamel. It’s an industrial alkyd paint that’s been sold under a bunch of names starting with Larcoloid and then California paints purchased the line and have changed the name a couple times. Very durable and can be used in bilges where it will be fully submerged. 1/3 price of Pettit bilge coat and for all intents and purposes same paint