Make an elevation image, grayscale and the same size as your map. If you use a smaller image, resize it and apply gaussian blur ( about 20-30 pixel radius ) to smoothen the edges. In this example I'll use an extremely small size for bandwidths sake.

Here's the grayscale elevation model, white meaning high.

Create a new alpha channel and paste this there.

Paint your base terrain in Layer 1 and then create a new layer above Layer 1. Fill this new layer with white.

This is the base terrain.

 

Go to the new layer you created and apply the filter Render -> Lighting Effects. Select directional light and Alpha 1, set the light origin to the top left corner.

Play with the other values to get something like below.

 

Press OK, and you'll have an image that should look something like this.

Top left slopes are lighted, while the opposite sides are darkened. Apply some gaussian blur again to get rid of the visible ridges, a little less than before though.

Now, change this layers mode to Soft Light, decrease opacity to somewhere around 10-30%, depending on the situation.

The final image should look like this.