I've been suggested to use linseed oil, the double-boiled stuff in particular, for a good coating. Wipe off the excess and realise you'll have to re-coat it at some point in the future, there's nothing really permanent when it comes to protecting steel from rust.
I have no problem with re-coating annually, bi-annually, or quarterly, but I'd like to have to do it no more often than that. The frame itself will be painted, so this is only for the other bare components. I just want to keep that steely shine