Vinegar, I don't know, Molasses will, but it's really messy to clean up.
Electric cleaning of rusty iron/steel. A five gallon bucket from Home Depot, 4 gallons of water, a cup of washing soda and a battery charger.
Bend a metal coat hanger in a circle (use sandpaper to remove some of the paint) with the circle flat, bend the hook up so it sticks above the top of the bucket. (circle goes half way down.
I used a steel brake line, you can use another coat hanger or anything else steel. With the coat hanger hook at 12:00, put the brake line across the bucket from 3:00 to 9:00. connect the battery charger wires, one end to the hook (bent down below the top of the bucket on the outside) and the other to the end of the brake line. Suspend the part to be cleaned completely in the water hanging by a steel wire. If it doesn't start bubbling right away, reverse the wires. (you gotta have the battery charger plugged in and turned on.)
With machine parts you may need a stouter rod across the top (think I Beam) and/or a larger bucket. Do not let the part to be cleaned touch the circle of coat hanger. Wait 6 to 12 hours, you'll be amazed at how new looking your part is.
Eventually, after a couple of days, you may have to replace the coat hanger circle, it tends to corrode away. I've heard of people using re-rods instead of coat hangers, I don't have any handy, I might have done so myself. The dirty water is perfectly bio-gradable, throw it on the lawn, in the gutter, anywhere.