In French, you would use tirer les vers du nez (literally: pull worms from his nose) when you try to get information from someone.
See also the entry for tirer les vers du nez on another site.
As others rightly say, this doesn’t apply to making one do something, or to otherwise difficult situations. In these cases, in addition of the already mentioned calvaire (casse-tête is nice too), you can also compare your task to an impossible one:
— Tu as réussi à faire manger sa soupe à Pierre ? (Did you succeed in having Pierre eat his soup?)
— Non, autant essayer de faire danser la java à la tour Eiffel ! (No, it would be easier to try to make the Eiffel tower dance!)
Tirer les vers du nez is only appropriate in sentences like “Prying information from X was like pulling teeth”, since it is specifically about informations.
If you want to refer to such difficulties in general case, you’d better use être la croix et la bannière, e.g. “Getting him to cooperate is like pulling teeth” would be “C’est la croix et la bannière de le faire coopérer”.
And in the case of a reticent person you can say he is une tête de mule.
Quite similar to “la croix et la bannière”, a very general idiom to say that something is extremely difficult:
Arriver à le faire coopérer, c’est un calvaire !
A biblical analogy is: Il est plus facile pour un chameau de passer par le chas d’une aiguille — It is easier for a camel to go through the eye of a needle
We could also see this from another point of view: When someone doesn’t want to say something, we could say that he is “muet comme une tombe” (mute as a grave).
(You can also answer someone that your are “muet comme une tombe” when someone asks you if you can keep a secret)
Or you can simply tell him he’s not very cooperative. “Tu n’es pas très coopératif” (or “vous n’êtes pas très coopératif”).