This is what has worked for me (every time).
You will need:
A clean towel, hand towel, or washcloth (depending on the snakes size).
A plastic tub large enough for the cloth
Warm water (80-90 degrees when the snake gets in it)
1. Rinse the cloth out, and squeeze it out. Do this a couple times to get any soap or fabric softener out.
2. Put the cloth in the plastic tub.
3. Fill the tub with enough warm water to soak the cloth with a little extra (no more than enough the snake can comfortably sit it, you don't need to make it swim).
Then put your snake in for about 15 minutes. It should have the shed come off completely during that time, if you notice it come off earlier, just take the snake out. If it doesn't come off during that time, put the snake back in its home, it will probably come off within the next day. You can try to assist the shedding (after the snake has been soaked), but it will be stressful on the snake and you'll want to leave it alone for a while afterwords.
I've actually assisted my snake shedding (when I kept one in a tank a long time ago) quite a few times, and it got used to it enough all I had to do was grab a bit of the shed (front most section) and it would pull away slowly to get the shed off.
If you ever end up with just the eyecap left, leave a humid hide in there the next time it goes into shed. It will come off. I have had only the eyecap left before and the towel method worked, but if it doesn't, don't try assisting the shed, as it's far too difficult to remove an eyecap without stressing yourself and the snake out