The OSG itself mostly doesn't know what "ground" or "sky" is, it just works with state and geometries that it passes to OpenGL.
So what your scene graph uses to represent ground and sky is down to what you've done in your application, something you haven't specified, so we can't know unless you tell us, the best we can do is guess and give general answers.
If you've used osg::Fog to enable OpenGL fog then just decorating the Sky subgraph with an osg::StateSet that contains an osg:Fog would be sufficient, if the sky uses fixed function pipeline. If it doesn't use a fixed function pipeline then you'll need to modify your shaders.
Cheers,
Robert.