For light rust- coat metal with a good penetrating oil (Kroil by Kano labs is the best there is, IMHO) let soak in for a few hours. Use clean coarse cloth, rub. Change to clean spot on cloth as needed- the rust on the cloth is abrasive. Repeat until arm falls off, then change hands.
For BAD rust, oil, soak, then rub lightly with a COPPER Chore-Boy scrubbing pad. Copper is softer than the steel of the gun. When you finish, gun will have a reddish tint from the copper. Dampen with oil again, and rub with clean cloth- it will come off.
Steel wool- even 0000 steel wool, will remove more bluing than the copper pot scrubber. You can also use bronze wool- hard to find, VERY pricey- Chore-Boys are in grocery stores, and Quicky Marts that sell them to dopers to stuff into crack pipes.
For OLD nickleplated guns, where the nickel is missing, and you have a rusty spot- rub with small ball of aluminum foil. Will take off rust, leave thin layer of aluminum, makes missing nickle less noticed.