Assuming "Lagrangian methods" mean "Lagrange multiplier methods" and not "Lagrangian dynamics in general:"
The basic idea of Lagrange multipliers is that you satisfy the contact constraint exactly (i.e. the two surfaces just touch) and calculate the force needed to make that happen. In the math, the force is the value of the Lagrange multiplier itself.
In penalty function methods, you do something like pretend there is a stiff spring in between the contact surfaces, and let the model do whatever it wants, according to the force in the spring. If the spring isn't stiff enough, the contact surfaces will overlap by an unreasonable amount. If it is too stiff, you will probably get some numerical problems in the solution. Finding a good value that lies between those two elephant traps is usually a matter of experience, (which is sometimes another name for "trial and error").
The above assumes you know where the contact will happen (if it happens at all), and that you can match up pairs of nodes (grid points) on the two surfaces. If you don't know that, both methods get more complicated to implement, but the basic ideas are still the same.
In both cases, the force is only applied if it is "pushing the contact surfaces apart", not "pulling them together".