Is it the skylight leaking or is it the flashing around the skylight that is leaking? Many times people assume it's the skylight but more often than not it is the metal flashing around the skylight, which is supposed to seal the skylight to the roof. This is assuming you have a sloped (shingle) roof.
If the skylight is leaking then this can usually be cured with caulk. Often times the glass unit will need to be removed, and reinstalled in a bed of polyurethane sealant. Then the frame work of the skylight again caulked with polyurethane sealant. Old sealant should eb first scraped away or removed as reasonably possible and the new sealant should only be applied to reasonably clean surfaces or will not stick.
Like I said though, more often than not it is not the actual skylight that is leaking but would be the flashing around the skylight. The way we repair this is a little more expensive than some guys may propose but is definite. It will not leak, and is the way we would "flash" a skylight had we been the ones to replace the roof. (Read the subliminal message here that a good roof costs more and if the skylight flashing is leaking it means they made a mistake or skipped a few crucial steps that undoubtedly would have raised the price of the roofing project. Also Note that I am an advocate of always replacing a skylight when replacing a roof this is because the skylights will inevitably leak at some point and to properly replace may cause damage to your reasonably new roof).
The first step to permanently fix a leaking skylight flashing is to strip the shingles around the skylight about 18-24". Remove the metal flashing kit around the skylight, the "baby tin" step flashings may need to be replaced. Wrap and ice and water shield around the skylight, to seal on the roof and wrap up the frame/curb of the skylight. This ice shield is crucial because metal flashings can and do sometimes fail, and becomes a pre-flashing adding a layer of redundant protection. New shingles can then be installed. I have found that the shingles usually can't be reused and are pretty cheap anyways so don't cheap out, I have had home owners ask me to reuse old shingles. Next install the step flashings and flashing kit in accordance with manufacturer instructions. A skilled roofing contractor can custom bend these flashing kits on site, and in many cases is something we have to do. Make sure to apply polyurethane sealant to any exposed screws or fasteners in the flashing kit, there should be no exposed nails in the shingles.
This is how to permanently fix a leaking skylight. However due to the DANGER and complexity of a roofing repair I never really recommend roofing as a do it yourself affair.